Merge "Add deployment of CAs via hieradata"
[apex-tripleo-heat-templates.git] / network / endpoints / endpoint_map.yaml
index 1bd35a7..dd29bcd 100644 (file)
@@ -8,21 +8,14 @@ description: A map of OpenStack endpoints. Since the endpoints are URLs,
   parameters come from net_ip_uri_map, which will include these brackets
   in IPv6 addresses.
 parameters:
-  AodhApiVirtualIP: {type: string, default: ''}
-  CeilometerApiVirtualIP: {type: string, default: ''}
-  CinderApiVirtualIP: {type: string, default: ''}
-  GlanceApiVirtualIP: {type: string, default: ''}
-  GlanceRegistryVirtualIP: {type: string, default: ''}
-  GnocchiApiVirtualIP: {type: string, default: ''}
-  HeatApiVirtualIP: {type: string, default: ''}
-  KeystoneAdminApiVirtualIP: {type: string, default: ''}
-  KeystonePublicApiVirtualIP: {type: string, default: ''}
-  MysqlVirtualIP: {type: string, default: ''}
-  NeutronApiVirtualIP: {type: string, default: ''}
-  NovaApiVirtualIP: {type: string, default: ''}
-  PublicVirtualIP: {type: string, default: ''}
-  SaharaApiVirtualIP: {type: string, default: ''}
-  SwiftProxyVirtualIP: {type: string, default: ''}
+  NetIpMap:
+    type: json
+    default: {}
+    description: The Net IP map
+  ServiceNetMap:
+    type: json
+    default: {}
+    description: The Service Net map
   EndpointMap:
     type: json
     default:
@@ -45,19 +38,26 @@ parameters:
       HeatAdmin: {protocol: http, port: '8004', host: IP_ADDRESS}
       HeatInternal: {protocol: http, port: '8004', host: IP_ADDRESS}
       HeatPublic: {protocol: http, port: '8004', host: IP_ADDRESS}
+      HeatCfnAdmin: {protocol: http, port: '8000', host: IP_ADDRESS}
+      HeatCfnInternal: {protocol: http, port: '8000', host: IP_ADDRESS}
+      HeatCfnPublic: {protocol: http, port: '8000', host: IP_ADDRESS}
       HorizonPublic: {protocol: http, port: '80', host: IP_ADDRESS}
+      IronicAdmin: {protocol: http, port: '6385', host: IP_ADDRESS}
+      IronicInternal: {protocol: http, port: '6385', host: IP_ADDRESS}
+      IronicPublic: {protocol: http, port: '6385', host: IP_ADDRESS}
       KeystoneAdmin: {protocol: http, port: '35357', host: IP_ADDRESS}
       KeystoneInternal: {protocol: http, port: '5000', host: IP_ADDRESS}
       KeystonePublic: {protocol: http, port: '5000', host: IP_ADDRESS}
+      ManilaAdmin: {protocol: http, port: '8786', host: IP_ADDRESS}
+      ManilaInternal: {protocol: http, port: '8786', host: IP_ADDRESS}
+      ManilaPublic: {protocol: http, port: '8786', host: IP_ADDRESS}
+      MysqlInternal: {protocol: mysql+pymysql, port: '3306', host: IP_ADDRESS}
       NeutronAdmin: {protocol: http, port: '9696', host: IP_ADDRESS}
       NeutronInternal: {protocol: http, port: '9696', host: IP_ADDRESS}
       NeutronPublic: {protocol: http, port: '9696', host: IP_ADDRESS}
       NovaAdmin: {protocol: http, port: '8774', host: IP_ADDRESS}
       NovaInternal: {protocol: http, port: '8774', host: IP_ADDRESS}
       NovaPublic: {protocol: http, port: '8774', host: IP_ADDRESS}
-      NovaEC2Admin: {protocol: http, port: '8773', host: IP_ADDRESS}
-      NovaEC2Internal: {protocol: http, port: '8773', host: IP_ADDRESS}
-      NovaEC2Public: {protocol: http, port: '8773', host: IP_ADDRESS}
       NovaVNCProxyAdmin: {protocol: http, port: '6080', host: IP_ADDRESS}
       NovaVNCProxyInternal: {protocol: http, port: '6080', host: IP_ADDRESS}
       NovaVNCProxyPublic: {protocol: http, port: '6080', host: IP_ADDRESS}
@@ -69,8 +69,11 @@ parameters:
       SwiftPublic: {protocol: http, port: '8080', host: IP_ADDRESS}
     description: Mapping of service endpoint -> protocol. Typically set
       via parameter_defaults in the resource registry.
-  CloudName: {type: string, default: overcloud, description: The DNS name
-      of this cloud. e.g. ci-overcloud.tripleo.org}
+  CloudEndpoints:
+    type: json
+    default: {}
+    description: A map containing the DNS names for the different endpoints
+      (external, internal_api, etc.)
 outputs:
   endpoint_map:
     value:
@@ -80,8 +83,31 @@ outputs:
             template:
               get_param: [EndpointMap, AodhAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: AodhApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, AodhApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, AodhApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, AodhAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, AodhApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, AodhApiNetwork]
         port:
           get_param: [EndpointMap, AodhAdmin, port]
         protocol:
@@ -95,8 +121,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, AodhAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: AodhApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, AodhApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, AodhApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhAdmin, port]
         uri_no_suffix:
@@ -108,8 +144,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, AodhAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: AodhApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, AodhApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, AodhApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhAdmin, port]
       AodhInternal:
@@ -118,8 +164,31 @@ outputs:
             template:
               get_param: [EndpointMap, AodhInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: AodhApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, AodhApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, AodhApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, AodhInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, AodhApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, AodhApiNetwork]
         port:
           get_param: [EndpointMap, AodhInternal, port]
         protocol:
@@ -133,8 +202,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, AodhInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: AodhApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, AodhApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, AodhApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhInternal, port]
         uri_no_suffix:
@@ -146,8 +225,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, AodhInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: AodhApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, AodhApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, AodhApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhInternal, port]
       AodhPublic:
@@ -156,8 +245,31 @@ outputs:
             template:
               get_param: [EndpointMap, AodhPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, AodhPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, AodhPublic, port]
         protocol:
@@ -171,8 +283,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, AodhPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhPublic, port]
         uri_no_suffix:
@@ -184,8 +306,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, AodhPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhPublic, port]
       CeilometerAdmin:
@@ -194,8 +326,31 @@ outputs:
             template:
               get_param: [EndpointMap, CeilometerAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CeilometerApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CeilometerApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CeilometerAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CeilometerApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CeilometerApiNetwork]
         port:
           get_param: [EndpointMap, CeilometerAdmin, port]
         protocol:
@@ -209,8 +364,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CeilometerAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CeilometerApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CeilometerApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerAdmin, port]
         uri_no_suffix:
@@ -222,8 +387,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CeilometerAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CeilometerApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CeilometerApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerAdmin, port]
       CeilometerInternal:
@@ -232,8 +407,31 @@ outputs:
             template:
               get_param: [EndpointMap, CeilometerInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CeilometerApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CeilometerApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CeilometerInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CeilometerApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CeilometerApiNetwork]
         port:
           get_param: [EndpointMap, CeilometerInternal, port]
         protocol:
@@ -247,8 +445,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CeilometerInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CeilometerApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CeilometerApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerInternal, port]
         uri_no_suffix:
@@ -260,8 +468,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CeilometerInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CeilometerApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CeilometerApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerInternal, port]
       CeilometerPublic:
@@ -270,8 +488,31 @@ outputs:
             template:
               get_param: [EndpointMap, CeilometerPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CeilometerPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, CeilometerPublic, port]
         protocol:
@@ -285,8 +526,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CeilometerPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerPublic, port]
         uri_no_suffix:
@@ -298,8 +549,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CeilometerPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerPublic, port]
       CinderAdmin:
@@ -308,8 +569,31 @@ outputs:
             template:
               get_param: [EndpointMap, CinderAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CinderApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CinderApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
         port:
           get_param: [EndpointMap, CinderAdmin, port]
         protocol:
@@ -323,8 +607,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderAdmin, port]
             - /v1/%(tenant_id)s
@@ -337,8 +631,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderAdmin, port]
       CinderInternal:
@@ -347,8 +651,31 @@ outputs:
             template:
               get_param: [EndpointMap, CinderInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CinderApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CinderApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
         port:
           get_param: [EndpointMap, CinderInternal, port]
         protocol:
@@ -362,8 +689,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderInternal, port]
             - /v1/%(tenant_id)s
@@ -376,8 +713,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderInternal, port]
       CinderPublic:
@@ -386,8 +733,31 @@ outputs:
             template:
               get_param: [EndpointMap, CinderPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, CinderPublic, port]
         protocol:
@@ -401,8 +771,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderPublic, port]
             - /v1/%(tenant_id)s
@@ -415,8 +795,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderPublic, port]
       CinderV2Admin:
@@ -425,8 +815,31 @@ outputs:
             template:
               get_param: [EndpointMap, CinderAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CinderApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CinderApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
         port:
           get_param: [EndpointMap, CinderAdmin, port]
         protocol:
@@ -440,8 +853,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderAdmin, port]
             - /v2/%(tenant_id)s
@@ -454,8 +877,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderAdmin, port]
       CinderV2Internal:
@@ -464,8 +897,31 @@ outputs:
             template:
               get_param: [EndpointMap, CinderInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CinderApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CinderApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
         port:
           get_param: [EndpointMap, CinderInternal, port]
         protocol:
@@ -479,8 +935,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderInternal, port]
             - /v2/%(tenant_id)s
@@ -493,8 +959,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderInternal, port]
       CinderV2Public:
@@ -503,8 +979,31 @@ outputs:
             template:
               get_param: [EndpointMap, CinderPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, CinderPublic, port]
         protocol:
@@ -518,8 +1017,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderPublic, port]
             - /v2/%(tenant_id)s
@@ -532,8 +1041,264 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CinderPublic, port]
+      CinderV3Admin:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CinderApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+        port:
+          get_param: [EndpointMap, CinderAdmin, port]
+        protocol:
+          get_param: [EndpointMap, CinderAdmin, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CinderAdmin, port]
+            - /v3/%(tenant_id)s
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CinderAdmin, port]
+      CinderV3Internal:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CinderApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+        port:
+          get_param: [EndpointMap, CinderInternal, port]
+        protocol:
+          get_param: [EndpointMap, CinderInternal, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CinderInternal, port]
+            - /v3/%(tenant_id)s
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CinderInternal, port]
+      CinderV3Public:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
+        port:
+          get_param: [EndpointMap, CinderPublic, port]
+        protocol:
+          get_param: [EndpointMap, CinderPublic, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderPublic, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CinderPublic, port]
+            - /v3/%(tenant_id)s
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderPublic, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderPublic, port]
       GlanceAdmin:
@@ -542,8 +1307,31 @@ outputs:
             template:
               get_param: [EndpointMap, GlanceAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GlanceApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, GlanceApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, GlanceAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GlanceApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, GlanceApiNetwork]
         port:
           get_param: [EndpointMap, GlanceAdmin, port]
         protocol:
@@ -557,8 +1345,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GlanceAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GlanceApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceAdmin, port]
         uri_no_suffix:
@@ -570,8 +1368,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GlanceAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GlanceApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceAdmin, port]
       GlanceInternal:
@@ -580,8 +1388,31 @@ outputs:
             template:
               get_param: [EndpointMap, GlanceInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GlanceApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, GlanceApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, GlanceInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GlanceApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, GlanceApiNetwork]
         port:
           get_param: [EndpointMap, GlanceInternal, port]
         protocol:
@@ -595,8 +1426,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GlanceInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GlanceApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceInternal, port]
         uri_no_suffix:
@@ -608,8 +1449,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GlanceInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GlanceApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceInternal, port]
       GlancePublic:
@@ -618,8 +1469,31 @@ outputs:
             template:
               get_param: [EndpointMap, GlancePublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, GlancePublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, GlancePublic, port]
         protocol:
@@ -633,8 +1507,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GlancePublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlancePublic, port]
         uri_no_suffix:
@@ -646,8 +1530,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GlancePublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlancePublic, port]
       GlanceRegistryInternal:
@@ -656,8 +1550,31 @@ outputs:
             template:
               get_param: [EndpointMap, GlanceRegistryInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: GlanceRegistryVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GlanceRegistryNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, GlanceRegistryNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, GlanceRegistryInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GlanceRegistryNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, GlanceRegistryNetwork]
         port:
           get_param: [EndpointMap, GlanceRegistryInternal, port]
         protocol:
@@ -671,8 +1588,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GlanceRegistryInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceRegistryVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GlanceRegistryNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceRegistryNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceRegistryInternal, port]
         uri_no_suffix:
@@ -684,8 +1611,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GlanceRegistryInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceRegistryVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GlanceRegistryNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceRegistryNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceRegistryInternal, port]
       GnocchiAdmin:
@@ -694,8 +1631,31 @@ outputs:
             template:
               get_param: [EndpointMap, GnocchiAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GnocchiApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, GnocchiApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, GnocchiAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GnocchiApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, GnocchiApiNetwork]
         port:
           get_param: [EndpointMap, GnocchiAdmin, port]
         protocol:
@@ -709,8 +1669,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GnocchiAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GnocchiApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GnocchiApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiAdmin, port]
         uri_no_suffix:
@@ -722,8 +1692,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GnocchiAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GnocchiApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GnocchiApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiAdmin, port]
       GnocchiInternal:
@@ -732,8 +1712,31 @@ outputs:
             template:
               get_param: [EndpointMap, GnocchiInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GnocchiApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, GnocchiApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, GnocchiInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GnocchiApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, GnocchiApiNetwork]
         port:
           get_param: [EndpointMap, GnocchiInternal, port]
         protocol:
@@ -747,8 +1750,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GnocchiInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GnocchiApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GnocchiApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiInternal, port]
         uri_no_suffix:
@@ -760,8 +1773,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GnocchiInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GnocchiApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GnocchiApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiInternal, port]
       GnocchiPublic:
@@ -770,8 +1793,31 @@ outputs:
             template:
               get_param: [EndpointMap, GnocchiPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, GnocchiPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, GnocchiPublic, port]
         protocol:
@@ -785,8 +1831,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GnocchiPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiPublic, port]
         uri_no_suffix:
@@ -798,8 +1854,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GnocchiPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiPublic, port]
       HeatAdmin:
@@ -808,8 +1874,31 @@ outputs:
             template:
               get_param: [EndpointMap, HeatAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: HeatApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, HeatApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, HeatApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, HeatAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, HeatApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, HeatApiNetwork]
         port:
           get_param: [EndpointMap, HeatAdmin, port]
         protocol:
@@ -823,8 +1912,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, HeatApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatAdmin, port]
             - /v1/%(tenant_id)s
@@ -837,8 +1936,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, HeatApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatAdmin, port]
       HeatInternal:
@@ -847,8 +1956,31 @@ outputs:
             template:
               get_param: [EndpointMap, HeatInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: HeatApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, HeatApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, HeatApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, HeatInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, HeatApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, HeatApiNetwork]
         port:
           get_param: [EndpointMap, HeatInternal, port]
         protocol:
@@ -862,8 +1994,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, HeatApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatInternal, port]
             - /v1/%(tenant_id)s
@@ -876,8 +2018,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, HeatApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatInternal, port]
       HeatPublic:
@@ -886,8 +2038,31 @@ outputs:
             template:
               get_param: [EndpointMap, HeatPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, HeatPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, HeatPublic, port]
         protocol:
@@ -901,8 +2076,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatPublic, port]
             - /v1/%(tenant_id)s
@@ -915,153 +2100,817 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatPublic, port]
-      HorizonPublic:
+      HeatCfnAdmin:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, HorizonPublic, host]
+              get_param: [EndpointMap, HeatCfnAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, HeatApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, HeatApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, HeatCfnAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, HeatApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, HeatApiNetwork]
         port:
-          get_param: [EndpointMap, HorizonPublic, port]
+          get_param: [EndpointMap, HeatCfnAdmin, port]
         protocol:
-          get_param: [EndpointMap, HorizonPublic, protocol]
+          get_param: [EndpointMap, HeatCfnAdmin, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, HorizonPublic, protocol]
+          - - get_param: [EndpointMap, HeatCfnAdmin, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, HorizonPublic, host]
+                  get_param: [EndpointMap, HeatCfnAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, HeatApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, HorizonPublic, port]
-            - /dashboard
+            - get_param: [EndpointMap, HeatCfnAdmin, port]
+            - /v1
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, HorizonPublic, protocol]
+          - - get_param: [EndpointMap, HeatCfnAdmin, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, HorizonPublic, host]
+                  get_param: [EndpointMap, HeatCfnAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, HeatApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, HorizonPublic, port]
-      KeystoneAdmin:
+            - get_param: [EndpointMap, HeatCfnAdmin, port]
+      HeatCfnInternal:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, KeystoneAdmin, host]
+              get_param: [EndpointMap, HeatCfnInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, HeatApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, HeatApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, HeatCfnInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, HeatApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, HeatApiNetwork]
         port:
-          get_param: [EndpointMap, KeystoneAdmin, port]
+          get_param: [EndpointMap, HeatCfnInternal, port]
         protocol:
-          get_param: [EndpointMap, KeystoneAdmin, protocol]
+          get_param: [EndpointMap, HeatCfnInternal, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, KeystoneAdmin, protocol]
+          - - get_param: [EndpointMap, HeatCfnInternal, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, KeystoneAdmin, host]
+                  get_param: [EndpointMap, HeatCfnInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, HeatApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, KeystoneAdmin, port]
-            - /v2.0
+            - get_param: [EndpointMap, HeatCfnInternal, port]
+            - /v1
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, KeystoneAdmin, protocol]
+          - - get_param: [EndpointMap, HeatCfnInternal, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, KeystoneAdmin, host]
+                  get_param: [EndpointMap, HeatCfnInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, HeatApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, KeystoneAdmin, port]
-      KeystoneEC2:
+            - get_param: [EndpointMap, HeatCfnInternal, port]
+      HeatCfnPublic:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, KeystoneInternal, host]
+              get_param: [EndpointMap, HeatCfnPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, HeatCfnPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
-          get_param: [EndpointMap, KeystoneInternal, port]
+          get_param: [EndpointMap, HeatCfnPublic, port]
         protocol:
-          get_param: [EndpointMap, KeystoneInternal, protocol]
+          get_param: [EndpointMap, HeatCfnPublic, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, KeystoneInternal, protocol]
+          - - get_param: [EndpointMap, HeatCfnPublic, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, KeystoneInternal, host]
+                  get_param: [EndpointMap, HeatCfnPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, KeystoneInternal, port]
-            - /v2.0/ec2tokens
+            - get_param: [EndpointMap, HeatCfnPublic, port]
+            - /v1
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, KeystoneInternal, protocol]
+          - - get_param: [EndpointMap, HeatCfnPublic, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, KeystoneInternal, host]
+                  get_param: [EndpointMap, HeatCfnPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, KeystoneInternal, port]
-      KeystoneInternal:
+            - get_param: [EndpointMap, HeatCfnPublic, port]
+      HorizonPublic:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, KeystoneInternal, host]
+              get_param: [EndpointMap, HorizonPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, HorizonPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
-          get_param: [EndpointMap, KeystoneInternal, port]
+          get_param: [EndpointMap, HorizonPublic, port]
         protocol:
-          get_param: [EndpointMap, KeystoneInternal, protocol]
+          get_param: [EndpointMap, HorizonPublic, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, KeystoneInternal, protocol]
+          - - get_param: [EndpointMap, HorizonPublic, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, KeystoneInternal, host]
+                  get_param: [EndpointMap, HorizonPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, KeystoneInternal, port]
-            - /v2.0
+            - get_param: [EndpointMap, HorizonPublic, port]
+            - /dashboard
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, HorizonPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, HorizonPublic, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, HorizonPublic, port]
+      IronicAdmin:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, IronicAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, IronicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, IronicApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, IronicAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, IronicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, IronicApiNetwork]
+        port:
+          get_param: [EndpointMap, IronicAdmin, port]
+        protocol:
+          get_param: [EndpointMap, IronicAdmin, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, IronicAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, IronicAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, IronicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, IronicApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, IronicAdmin, port]
+            - /v1
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, IronicAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, IronicAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, IronicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, IronicApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, IronicAdmin, port]
+      IronicInternal:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, IronicInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, IronicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, IronicApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, IronicInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, IronicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, IronicApiNetwork]
+        port:
+          get_param: [EndpointMap, IronicInternal, port]
+        protocol:
+          get_param: [EndpointMap, IronicInternal, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, IronicInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, IronicInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, IronicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, IronicApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, IronicInternal, port]
+            - /v1
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, IronicInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, IronicInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, IronicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, IronicApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, IronicInternal, port]
+      IronicPublic:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, IronicPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, IronicPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
+        port:
+          get_param: [EndpointMap, IronicPublic, port]
+        protocol:
+          get_param: [EndpointMap, IronicPublic, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, IronicPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, IronicPublic, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, IronicPublic, port]
+            - /v1
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, IronicPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, IronicPublic, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, IronicPublic, port]
+      KeystoneAdmin:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+        port:
+          get_param: [EndpointMap, KeystoneAdmin, port]
+        protocol:
+          get_param: [EndpointMap, KeystoneAdmin, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, KeystoneAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, KeystoneAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, KeystoneAdmin, port]
+            - /v2.0
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, KeystoneAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, KeystoneAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, KeystoneAdmin, port]
+      KeystoneEC2:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+        port:
+          get_param: [EndpointMap, KeystoneInternal, port]
+        protocol:
+          get_param: [EndpointMap, KeystoneInternal, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, KeystoneInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, KeystoneInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, KeystoneInternal, port]
+            - /v2.0/ec2tokens
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, KeystoneInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, KeystoneInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, KeystoneInternal, port]
+      KeystoneInternal:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+        port:
+          get_param: [EndpointMap, KeystoneInternal, port]
+        protocol:
+          get_param: [EndpointMap, KeystoneInternal, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, KeystoneInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, KeystoneInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, KeystoneInternal, port]
+            - /v2.0
         uri_no_suffix:
           list_join:
           - ''
@@ -1071,8 +2920,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystoneInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneInternal, port]
       KeystonePublic:
@@ -1081,8 +2940,31 @@ outputs:
             template:
               get_param: [EndpointMap, KeystonePublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystonePublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, KeystonePublic, port]
         protocol:
@@ -1096,8 +2978,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystonePublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystonePublic, port]
             - /v2.0
@@ -1110,8 +3002,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystonePublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystonePublic, port]
       KeystoneV3Admin:
@@ -1120,8 +3022,31 @@ outputs:
             template:
               get_param: [EndpointMap, KeystoneAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
         port:
           get_param: [EndpointMap, KeystoneAdmin, port]
         protocol:
@@ -1135,8 +3060,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystoneAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneAdmin, port]
             - /v3
@@ -1149,8 +3084,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystoneAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneAdmin, port]
       KeystoneV3Internal:
@@ -1159,8 +3104,31 @@ outputs:
             template:
               get_param: [EndpointMap, KeystoneInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
         port:
           get_param: [EndpointMap, KeystoneInternal, port]
         protocol:
@@ -1174,8 +3142,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystoneInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneInternal, port]
             - /v3
@@ -1188,8 +3166,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystoneInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneInternal, port]
       KeystoneV3Public:
@@ -1198,8 +3186,31 @@ outputs:
             template:
               get_param: [EndpointMap, KeystonePublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystonePublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, KeystonePublic, port]
         protocol:
@@ -1213,8 +3224,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystonePublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystonePublic, port]
             - /v3
@@ -1227,366 +3248,1113 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystonePublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystonePublic, port]
-      NeutronAdmin:
+      ManilaAdmin:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, NeutronAdmin, host]
+              get_param: [EndpointMap, ManilaAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, ManilaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
         port:
-          get_param: [EndpointMap, NeutronAdmin, port]
+          get_param: [EndpointMap, ManilaAdmin, port]
         protocol:
-          get_param: [EndpointMap, NeutronAdmin, protocol]
+          get_param: [EndpointMap, ManilaAdmin, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NeutronAdmin, protocol]
+          - - get_param: [EndpointMap, ManilaAdmin, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NeutronAdmin, host]
+                  get_param: [EndpointMap, ManilaAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, ManilaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NeutronAdmin, port]
+            - get_param: [EndpointMap, ManilaAdmin, port]
+            - /v2/%(tenant_id)s
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NeutronAdmin, protocol]
+          - - get_param: [EndpointMap, ManilaAdmin, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NeutronAdmin, host]
+                  get_param: [EndpointMap, ManilaAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, ManilaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NeutronAdmin, port]
-      NeutronInternal:
+            - get_param: [EndpointMap, ManilaAdmin, port]
+      ManilaInternal:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, NeutronInternal, host]
+              get_param: [EndpointMap, ManilaInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, ManilaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
         port:
-          get_param: [EndpointMap, NeutronInternal, port]
+          get_param: [EndpointMap, ManilaInternal, port]
         protocol:
-          get_param: [EndpointMap, NeutronInternal, protocol]
+          get_param: [EndpointMap, ManilaInternal, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NeutronInternal, protocol]
+          - - get_param: [EndpointMap, ManilaInternal, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NeutronInternal, host]
+                  get_param: [EndpointMap, ManilaInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, ManilaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NeutronInternal, port]
+            - get_param: [EndpointMap, ManilaInternal, port]
+            - /v2/%(tenant_id)s
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NeutronInternal, protocol]
+          - - get_param: [EndpointMap, ManilaInternal, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NeutronInternal, host]
+                  get_param: [EndpointMap, ManilaInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, ManilaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NeutronInternal, port]
-      NeutronPublic:
+            - get_param: [EndpointMap, ManilaInternal, port]
+      ManilaPublic:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, NeutronPublic, host]
+              get_param: [EndpointMap, ManilaPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
-          get_param: [EndpointMap, NeutronPublic, port]
+          get_param: [EndpointMap, ManilaPublic, port]
         protocol:
-          get_param: [EndpointMap, NeutronPublic, protocol]
+          get_param: [EndpointMap, ManilaPublic, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NeutronPublic, protocol]
+          - - get_param: [EndpointMap, ManilaPublic, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NeutronPublic, host]
+                  get_param: [EndpointMap, ManilaPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NeutronPublic, port]
+            - get_param: [EndpointMap, ManilaPublic, port]
+            - /v2/%(tenant_id)s
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NeutronPublic, protocol]
+          - - get_param: [EndpointMap, ManilaPublic, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NeutronPublic, host]
+                  get_param: [EndpointMap, ManilaPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NeutronPublic, port]
-      NovaAdmin:
+            - get_param: [EndpointMap, ManilaPublic, port]
+      ManilaV1Admin:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, NovaAdmin, host]
+              get_param: [EndpointMap, ManilaAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NovaApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, ManilaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
         port:
-          get_param: [EndpointMap, NovaAdmin, port]
+          get_param: [EndpointMap, ManilaAdmin, port]
         protocol:
-          get_param: [EndpointMap, NovaAdmin, protocol]
+          get_param: [EndpointMap, ManilaAdmin, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NovaAdmin, protocol]
+          - - get_param: [EndpointMap, ManilaAdmin, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NovaAdmin, host]
+                  get_param: [EndpointMap, ManilaAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, ManilaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NovaAdmin, port]
-            - /v2.1/%(tenant_id)s
+            - get_param: [EndpointMap, ManilaAdmin, port]
+            - /v1/%(tenant_id)s
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NovaAdmin, protocol]
+          - - get_param: [EndpointMap, ManilaAdmin, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NovaAdmin, host]
+                  get_param: [EndpointMap, ManilaAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, ManilaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NovaAdmin, port]
-      NovaInternal:
+            - get_param: [EndpointMap, ManilaAdmin, port]
+      ManilaV1Internal:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, NovaInternal, host]
+              get_param: [EndpointMap, ManilaInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, ManilaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NovaApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
         port:
-          get_param: [EndpointMap, NovaInternal, port]
+          get_param: [EndpointMap, ManilaInternal, port]
         protocol:
-          get_param: [EndpointMap, NovaInternal, protocol]
+          get_param: [EndpointMap, ManilaInternal, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NovaInternal, protocol]
+          - - get_param: [EndpointMap, ManilaInternal, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NovaInternal, host]
+                  get_param: [EndpointMap, ManilaInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, ManilaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NovaInternal, port]
-            - /v2.1/%(tenant_id)s
+            - get_param: [EndpointMap, ManilaInternal, port]
+            - /v1/%(tenant_id)s
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NovaInternal, protocol]
+          - - get_param: [EndpointMap, ManilaInternal, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NovaInternal, host]
+                  get_param: [EndpointMap, ManilaInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, ManilaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NovaInternal, port]
-      NovaPublic:
+            - get_param: [EndpointMap, ManilaInternal, port]
+      ManilaV1Public:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, NovaPublic, host]
+              get_param: [EndpointMap, ManilaPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
-          get_param: [EndpointMap, NovaPublic, port]
+          get_param: [EndpointMap, ManilaPublic, port]
         protocol:
-          get_param: [EndpointMap, NovaPublic, protocol]
+          get_param: [EndpointMap, ManilaPublic, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NovaPublic, protocol]
+          - - get_param: [EndpointMap, ManilaPublic, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NovaPublic, host]
+                  get_param: [EndpointMap, ManilaPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NovaPublic, port]
-            - /v2.1/%(tenant_id)s
+            - get_param: [EndpointMap, ManilaPublic, port]
+            - /v1/%(tenant_id)s
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NovaPublic, protocol]
+          - - get_param: [EndpointMap, ManilaPublic, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NovaPublic, host]
+                  get_param: [EndpointMap, ManilaPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NovaPublic, port]
-      NovaEC2Admin:
+            - get_param: [EndpointMap, ManilaPublic, port]
+      MysqlInternal:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, NovaEC2Admin, host]
+              get_param: [EndpointMap, MysqlInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NovaApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, MysqlNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, MysqlNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, MysqlInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, MysqlNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, MysqlNetwork]
+        port:
+          get_param: [EndpointMap, MysqlInternal, port]
+        protocol:
+          get_param: [EndpointMap, MysqlInternal, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, MysqlInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, MysqlInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, MysqlNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, MysqlNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, MysqlInternal, port]
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, MysqlInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, MysqlInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, MysqlNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, MysqlNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, MysqlInternal, port]
+      NeutronAdmin:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NeutronAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NeutronApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, NeutronApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NeutronAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NeutronApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NeutronApiNetwork]
         port:
-          get_param: [EndpointMap, NovaEC2Admin, port]
+          get_param: [EndpointMap, NeutronAdmin, port]
         protocol:
-          get_param: [EndpointMap, NovaEC2Admin, protocol]
+          get_param: [EndpointMap, NeutronAdmin, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NovaEC2Admin, protocol]
+          - - get_param: [EndpointMap, NeutronAdmin, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NovaEC2Admin, host]
+                  get_param: [EndpointMap, NeutronAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NeutronApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NeutronApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NovaEC2Admin, port]
-            - /services/Admin
+            - get_param: [EndpointMap, NeutronAdmin, port]
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NovaEC2Admin, protocol]
+          - - get_param: [EndpointMap, NeutronAdmin, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NovaEC2Admin, host]
+                  get_param: [EndpointMap, NeutronAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NeutronApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NeutronApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NovaEC2Admin, port]
-      NovaEC2Internal:
+            - get_param: [EndpointMap, NeutronAdmin, port]
+      NeutronInternal:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, NovaEC2Internal, host]
+              get_param: [EndpointMap, NeutronInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NeutronApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, NeutronApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NeutronInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NovaApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NeutronApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NeutronApiNetwork]
         port:
-          get_param: [EndpointMap, NovaEC2Internal, port]
+          get_param: [EndpointMap, NeutronInternal, port]
         protocol:
-          get_param: [EndpointMap, NovaEC2Internal, protocol]
+          get_param: [EndpointMap, NeutronInternal, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NovaEC2Internal, protocol]
+          - - get_param: [EndpointMap, NeutronInternal, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NovaEC2Internal, host]
+                  get_param: [EndpointMap, NeutronInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NeutronApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NeutronApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NovaEC2Internal, port]
-            - /services/Cloud
+            - get_param: [EndpointMap, NeutronInternal, port]
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NovaEC2Internal, protocol]
+          - - get_param: [EndpointMap, NeutronInternal, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NovaEC2Internal, host]
+                  get_param: [EndpointMap, NeutronInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NeutronApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NeutronApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NovaEC2Internal, port]
-      NovaEC2Public:
+            - get_param: [EndpointMap, NeutronInternal, port]
+      NeutronPublic:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, NovaEC2Public, host]
+              get_param: [EndpointMap, NeutronPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NeutronPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
-          get_param: [EndpointMap, NovaEC2Public, port]
+          get_param: [EndpointMap, NeutronPublic, port]
         protocol:
-          get_param: [EndpointMap, NovaEC2Public, protocol]
+          get_param: [EndpointMap, NeutronPublic, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NovaEC2Public, protocol]
+          - - get_param: [EndpointMap, NeutronPublic, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NovaEC2Public, host]
+                  get_param: [EndpointMap, NeutronPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NovaEC2Public, port]
-            - /services/Cloud
+            - get_param: [EndpointMap, NeutronPublic, port]
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, NovaEC2Public, protocol]
+          - - get_param: [EndpointMap, NeutronPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, NeutronPublic, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, NeutronPublic, port]
+      NovaAdmin:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NovaAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, NovaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NovaAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+        port:
+          get_param: [EndpointMap, NovaAdmin, port]
+        protocol:
+          get_param: [EndpointMap, NovaAdmin, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, NovaAdmin, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, NovaEC2Public, host]
+                  get_param: [EndpointMap, NovaAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NovaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, NovaEC2Public, port]
+            - get_param: [EndpointMap, NovaAdmin, port]
+            - /v2.1
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, NovaAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, NovaAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NovaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, NovaAdmin, port]
+      NovaInternal:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NovaInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, NovaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NovaInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+        port:
+          get_param: [EndpointMap, NovaInternal, port]
+        protocol:
+          get_param: [EndpointMap, NovaInternal, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, NovaInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, NovaInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NovaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, NovaInternal, port]
+            - /v2.1
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, NovaInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, NovaInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NovaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, NovaInternal, port]
+      NovaPublic:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NovaPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NovaPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
+        port:
+          get_param: [EndpointMap, NovaPublic, port]
+        protocol:
+          get_param: [EndpointMap, NovaPublic, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, NovaPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, NovaPublic, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, NovaPublic, port]
+            - /v2.1
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, NovaPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, NovaPublic, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, NovaPublic, port]
       NovaVNCProxyAdmin:
         host:
           str_replace:
             template:
               get_param: [EndpointMap, NovaVNCProxyAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NovaApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, NovaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NovaVNCProxyAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NovaApiNetwork]
         port:
           get_param: [EndpointMap, NovaVNCProxyAdmin, port]
         protocol:
@@ -1600,8 +4368,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaVNCProxyAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NovaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyAdmin, port]
         uri_no_suffix:
@@ -1613,8 +4391,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaVNCProxyAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NovaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyAdmin, port]
       NovaVNCProxyInternal:
@@ -1623,8 +4411,31 @@ outputs:
             template:
               get_param: [EndpointMap, NovaVNCProxyInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NovaApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, NovaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NovaVNCProxyInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NovaApiNetwork]
         port:
           get_param: [EndpointMap, NovaVNCProxyInternal, port]
         protocol:
@@ -1638,8 +4449,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaVNCProxyInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NovaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyInternal, port]
         uri_no_suffix:
@@ -1651,8 +4472,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaVNCProxyInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NovaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyInternal, port]
       NovaVNCProxyPublic:
@@ -1661,8 +4492,31 @@ outputs:
             template:
               get_param: [EndpointMap, NovaVNCProxyPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NovaVNCProxyPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, NovaVNCProxyPublic, port]
         protocol:
@@ -1676,8 +4530,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaVNCProxyPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyPublic, port]
         uri_no_suffix:
@@ -1689,8 +4553,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaVNCProxyPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyPublic, port]
       SaharaAdmin:
@@ -1699,8 +4573,31 @@ outputs:
             template:
               get_param: [EndpointMap, SaharaAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SaharaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, SaharaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SaharaAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SaharaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SaharaApiNetwork]
         port:
           get_param: [EndpointMap, SaharaAdmin, port]
         protocol:
@@ -1714,8 +4611,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SaharaAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SaharaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SaharaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SaharaAdmin, port]
             - /v1.1/%(tenant_id)s
@@ -1728,8 +4635,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SaharaAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SaharaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SaharaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SaharaAdmin, port]
       SaharaInternal:
@@ -1738,8 +4655,31 @@ outputs:
             template:
               get_param: [EndpointMap, SaharaInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SaharaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, SaharaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SaharaInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SaharaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SaharaApiNetwork]
         port:
           get_param: [EndpointMap, SaharaInternal, port]
         protocol:
@@ -1753,8 +4693,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SaharaInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SaharaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SaharaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SaharaInternal, port]
             - /v1.1/%(tenant_id)s
@@ -1767,8 +4717,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SaharaInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SaharaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SaharaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SaharaInternal, port]
       SaharaPublic:
@@ -1777,8 +4737,31 @@ outputs:
             template:
               get_param: [EndpointMap, SaharaPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SaharaPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, SaharaPublic, port]
         protocol:
@@ -1792,8 +4775,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SaharaPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SaharaPublic, port]
             - /v1.1/%(tenant_id)s
@@ -1806,8 +4799,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SaharaPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SaharaPublic, port]
       SwiftAdmin:
@@ -1816,8 +4819,31 @@ outputs:
             template:
               get_param: [EndpointMap, SwiftAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, SwiftProxyNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SwiftAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
         port:
           get_param: [EndpointMap, SwiftAdmin, port]
         protocol:
@@ -1831,8 +4857,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SwiftProxyNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftAdmin, port]
         uri_no_suffix:
@@ -1844,8 +4880,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SwiftProxyNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftAdmin, port]
       SwiftInternal:
@@ -1854,8 +4900,31 @@ outputs:
             template:
               get_param: [EndpointMap, SwiftInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, SwiftProxyNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SwiftInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
         port:
           get_param: [EndpointMap, SwiftInternal, port]
         protocol:
@@ -1869,8 +4938,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SwiftProxyNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftInternal, port]
             - /v1/AUTH_%(tenant_id)s
@@ -1883,8 +4962,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SwiftProxyNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftInternal, port]
       SwiftPublic:
@@ -1893,8 +4982,31 @@ outputs:
             template:
               get_param: [EndpointMap, SwiftPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SwiftPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, SwiftPublic, port]
         protocol:
@@ -1908,8 +5020,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftPublic, port]
             - /v1/AUTH_%(tenant_id)s
@@ -1922,8 +5044,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftPublic, port]
       SwiftS3Admin:
@@ -1932,8 +5064,31 @@ outputs:
             template:
               get_param: [EndpointMap, SwiftAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, SwiftProxyNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SwiftAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
         port:
           get_param: [EndpointMap, SwiftAdmin, port]
         protocol:
@@ -1947,8 +5102,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SwiftProxyNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftAdmin, port]
         uri_no_suffix:
@@ -1960,8 +5125,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SwiftProxyNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftAdmin, port]
       SwiftS3Internal:
@@ -1970,8 +5145,31 @@ outputs:
             template:
               get_param: [EndpointMap, SwiftInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, SwiftProxyNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SwiftInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
         port:
           get_param: [EndpointMap, SwiftInternal, port]
         protocol:
@@ -1985,8 +5183,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SwiftProxyNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftInternal, port]
         uri_no_suffix:
@@ -1998,8 +5206,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SwiftProxyNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftInternal, port]
       SwiftS3Public:
@@ -2008,8 +5226,31 @@ outputs:
             template:
               get_param: [EndpointMap, SwiftPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SwiftPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, SwiftPublic, port]
         protocol:
@@ -2023,8 +5264,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftPublic, port]
         uri_no_suffix:
@@ -2036,7 +5287,17 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftPublic, port]