Convert EndpointMap to not require per-service VIP parameters
[apex-tripleo-heat-templates.git] / network / endpoints / endpoint_map.yaml
index 51ff375..d055311 100644 (file)
@@ -8,22 +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: ''}
-  IronicApiVirtualIP: {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:
@@ -56,6 +48,9 @@ parameters:
       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}
@@ -86,7 +81,24 @@ outputs:
               get_param: [EndpointMap, AodhAdmin, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: AodhApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, AodhApiNetwork]
         port:
           get_param: [EndpointMap, AodhAdmin, port]
         protocol:
@@ -101,7 +113,14 @@ outputs:
                   get_param: [EndpointMap, AodhAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: AodhApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, AodhApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhAdmin, port]
         uri_no_suffix:
@@ -114,7 +133,14 @@ outputs:
                   get_param: [EndpointMap, AodhAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: AodhApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, AodhApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhAdmin, port]
       AodhInternal:
@@ -124,7 +150,24 @@ outputs:
               get_param: [EndpointMap, AodhInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: AodhApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, AodhApiNetwork]
         port:
           get_param: [EndpointMap, AodhInternal, port]
         protocol:
@@ -139,7 +182,14 @@ outputs:
                   get_param: [EndpointMap, AodhInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: AodhApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, AodhApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhInternal, port]
         uri_no_suffix:
@@ -152,7 +202,14 @@ outputs:
                   get_param: [EndpointMap, AodhInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: AodhApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, AodhApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhInternal, port]
       AodhPublic:
@@ -162,7 +219,24 @@ outputs:
               get_param: [EndpointMap, AodhPublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, AodhPublic, port]
         protocol:
@@ -177,7 +251,14 @@ outputs:
                   get_param: [EndpointMap, AodhPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhPublic, port]
         uri_no_suffix:
@@ -190,7 +271,14 @@ outputs:
                   get_param: [EndpointMap, AodhPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhPublic, port]
       CeilometerAdmin:
@@ -200,7 +288,24 @@ outputs:
               get_param: [EndpointMap, CeilometerAdmin, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CeilometerApiNetwork]
         port:
           get_param: [EndpointMap, CeilometerAdmin, port]
         protocol:
@@ -215,7 +320,14 @@ outputs:
                   get_param: [EndpointMap, CeilometerAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CeilometerApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerAdmin, port]
         uri_no_suffix:
@@ -228,7 +340,14 @@ outputs:
                   get_param: [EndpointMap, CeilometerAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CeilometerApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerAdmin, port]
       CeilometerInternal:
@@ -238,7 +357,24 @@ outputs:
               get_param: [EndpointMap, CeilometerInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CeilometerApiNetwork]
         port:
           get_param: [EndpointMap, CeilometerInternal, port]
         protocol:
@@ -253,7 +389,14 @@ outputs:
                   get_param: [EndpointMap, CeilometerInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CeilometerApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerInternal, port]
         uri_no_suffix:
@@ -266,7 +409,14 @@ outputs:
                   get_param: [EndpointMap, CeilometerInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CeilometerApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerInternal, port]
       CeilometerPublic:
@@ -276,7 +426,24 @@ outputs:
               get_param: [EndpointMap, CeilometerPublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, CeilometerPublic, port]
         protocol:
@@ -291,7 +458,14 @@ outputs:
                   get_param: [EndpointMap, CeilometerPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerPublic, port]
         uri_no_suffix:
@@ -304,7 +478,14 @@ outputs:
                   get_param: [EndpointMap, CeilometerPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerPublic, port]
       CinderAdmin:
@@ -314,7 +495,24 @@ outputs:
               get_param: [EndpointMap, CinderAdmin, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CinderApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
         port:
           get_param: [EndpointMap, CinderAdmin, port]
         protocol:
@@ -329,7 +527,14 @@ outputs:
                   get_param: [EndpointMap, CinderAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  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
@@ -343,7 +548,14 @@ outputs:
                   get_param: [EndpointMap, CinderAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderAdmin, port]
       CinderInternal:
@@ -353,7 +565,24 @@ outputs:
               get_param: [EndpointMap, CinderInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CinderApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
         port:
           get_param: [EndpointMap, CinderInternal, port]
         protocol:
@@ -368,7 +597,14 @@ outputs:
                   get_param: [EndpointMap, CinderInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  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
@@ -382,7 +618,14 @@ outputs:
                   get_param: [EndpointMap, CinderInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderInternal, port]
       CinderPublic:
@@ -392,7 +635,24 @@ outputs:
               get_param: [EndpointMap, CinderPublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, CinderPublic, port]
         protocol:
@@ -407,7 +667,14 @@ outputs:
                   get_param: [EndpointMap, CinderPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  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
@@ -421,7 +688,14 @@ outputs:
                   get_param: [EndpointMap, CinderPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderPublic, port]
       CinderV2Admin:
@@ -431,7 +705,24 @@ outputs:
               get_param: [EndpointMap, CinderAdmin, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CinderApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
         port:
           get_param: [EndpointMap, CinderAdmin, port]
         protocol:
@@ -446,7 +737,14 @@ outputs:
                   get_param: [EndpointMap, CinderAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  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
@@ -460,7 +758,14 @@ outputs:
                   get_param: [EndpointMap, CinderAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderAdmin, port]
       CinderV2Internal:
@@ -470,7 +775,24 @@ outputs:
               get_param: [EndpointMap, CinderInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CinderApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
         port:
           get_param: [EndpointMap, CinderInternal, port]
         protocol:
@@ -485,7 +807,14 @@ outputs:
                   get_param: [EndpointMap, CinderInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  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
@@ -499,7 +828,14 @@ outputs:
                   get_param: [EndpointMap, CinderInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderInternal, port]
       CinderV2Public:
@@ -509,7 +845,24 @@ outputs:
               get_param: [EndpointMap, CinderPublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, CinderPublic, port]
         protocol:
@@ -524,7 +877,14 @@ outputs:
                   get_param: [EndpointMap, CinderPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  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
@@ -538,7 +898,224 @@ outputs:
                   get_param: [EndpointMap, CinderPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  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: CloudName}
+              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: CloudName}
+              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: CloudName}
+                  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: CloudName}
+                  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: CloudName}
+              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: CloudName}
+              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: CloudName}
+                  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: CloudName}
+                  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: CloudName}
+              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: CloudName}
+              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: CloudName}
+                  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: CloudName}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderPublic, port]
       GlanceAdmin:
@@ -548,7 +1125,24 @@ outputs:
               get_param: [EndpointMap, GlanceAdmin, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, GlanceApiNetwork]
         port:
           get_param: [EndpointMap, GlanceAdmin, port]
         protocol:
@@ -563,7 +1157,14 @@ outputs:
                   get_param: [EndpointMap, GlanceAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceAdmin, port]
         uri_no_suffix:
@@ -576,7 +1177,14 @@ outputs:
                   get_param: [EndpointMap, GlanceAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceAdmin, port]
       GlanceInternal:
@@ -586,7 +1194,24 @@ outputs:
               get_param: [EndpointMap, GlanceInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, GlanceApiNetwork]
         port:
           get_param: [EndpointMap, GlanceInternal, port]
         protocol:
@@ -601,7 +1226,14 @@ outputs:
                   get_param: [EndpointMap, GlanceInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceInternal, port]
         uri_no_suffix:
@@ -614,7 +1246,14 @@ outputs:
                   get_param: [EndpointMap, GlanceInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceInternal, port]
       GlancePublic:
@@ -624,7 +1263,24 @@ outputs:
               get_param: [EndpointMap, GlancePublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, GlancePublic, port]
         protocol:
@@ -639,7 +1295,14 @@ outputs:
                   get_param: [EndpointMap, GlancePublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlancePublic, port]
         uri_no_suffix:
@@ -652,7 +1315,14 @@ outputs:
                   get_param: [EndpointMap, GlancePublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlancePublic, port]
       GlanceRegistryInternal:
@@ -662,7 +1332,24 @@ outputs:
               get_param: [EndpointMap, GlanceRegistryInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: GlanceRegistryVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, GlanceRegistryNetwork]
         port:
           get_param: [EndpointMap, GlanceRegistryInternal, port]
         protocol:
@@ -677,7 +1364,14 @@ outputs:
                   get_param: [EndpointMap, GlanceRegistryInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceRegistryVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceRegistryNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceRegistryInternal, port]
         uri_no_suffix:
@@ -690,7 +1384,14 @@ outputs:
                   get_param: [EndpointMap, GlanceRegistryInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceRegistryVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceRegistryNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceRegistryInternal, port]
       GnocchiAdmin:
@@ -700,7 +1401,24 @@ outputs:
               get_param: [EndpointMap, GnocchiAdmin, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, GnocchiApiNetwork]
         port:
           get_param: [EndpointMap, GnocchiAdmin, port]
         protocol:
@@ -715,7 +1433,14 @@ outputs:
                   get_param: [EndpointMap, GnocchiAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GnocchiApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiAdmin, port]
         uri_no_suffix:
@@ -728,7 +1453,14 @@ outputs:
                   get_param: [EndpointMap, GnocchiAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GnocchiApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiAdmin, port]
       GnocchiInternal:
@@ -738,7 +1470,24 @@ outputs:
               get_param: [EndpointMap, GnocchiInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, GnocchiApiNetwork]
         port:
           get_param: [EndpointMap, GnocchiInternal, port]
         protocol:
@@ -753,7 +1502,14 @@ outputs:
                   get_param: [EndpointMap, GnocchiInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GnocchiApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiInternal, port]
         uri_no_suffix:
@@ -766,7 +1522,14 @@ outputs:
                   get_param: [EndpointMap, GnocchiInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GnocchiApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiInternal, port]
       GnocchiPublic:
@@ -776,7 +1539,24 @@ outputs:
               get_param: [EndpointMap, GnocchiPublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, GnocchiPublic, port]
         protocol:
@@ -791,7 +1571,14 @@ outputs:
                   get_param: [EndpointMap, GnocchiPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiPublic, port]
         uri_no_suffix:
@@ -804,7 +1591,14 @@ outputs:
                   get_param: [EndpointMap, GnocchiPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiPublic, port]
       HeatAdmin:
@@ -814,7 +1608,24 @@ outputs:
               get_param: [EndpointMap, HeatAdmin, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: HeatApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, HeatApiNetwork]
         port:
           get_param: [EndpointMap, HeatAdmin, port]
         protocol:
@@ -829,7 +1640,14 @@ outputs:
                   get_param: [EndpointMap, HeatAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  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
@@ -843,7 +1661,14 @@ outputs:
                   get_param: [EndpointMap, HeatAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatAdmin, port]
       HeatInternal:
@@ -853,7 +1678,24 @@ outputs:
               get_param: [EndpointMap, HeatInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: HeatApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, HeatApiNetwork]
         port:
           get_param: [EndpointMap, HeatInternal, port]
         protocol:
@@ -868,7 +1710,14 @@ outputs:
                   get_param: [EndpointMap, HeatInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  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
@@ -882,7 +1731,14 @@ outputs:
                   get_param: [EndpointMap, HeatInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatInternal, port]
       HeatPublic:
@@ -892,7 +1748,24 @@ outputs:
               get_param: [EndpointMap, HeatPublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, HeatPublic, port]
         protocol:
@@ -907,7 +1780,14 @@ outputs:
                   get_param: [EndpointMap, HeatPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  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
@@ -921,7 +1801,14 @@ outputs:
                   get_param: [EndpointMap, HeatPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatPublic, port]
       HeatCfnAdmin:
@@ -931,7 +1818,24 @@ outputs:
               get_param: [EndpointMap, HeatCfnAdmin, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: HeatApiVirtualIP}
+              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:
+                - NetIpMap
+                - get_param: [ServiceNetMap, HeatApiNetwork]
         port:
           get_param: [EndpointMap, HeatCfnAdmin, port]
         protocol:
@@ -946,7 +1850,14 @@ outputs:
                   get_param: [EndpointMap, HeatCfnAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatCfnAdmin, port]
             - /v1
@@ -960,7 +1871,14 @@ outputs:
                   get_param: [EndpointMap, HeatCfnAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatCfnAdmin, port]
       HeatCfnInternal:
@@ -970,7 +1888,24 @@ outputs:
               get_param: [EndpointMap, HeatCfnInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: HeatApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, HeatApiNetwork]
         port:
           get_param: [EndpointMap, HeatCfnInternal, port]
         protocol:
@@ -985,7 +1920,14 @@ outputs:
                   get_param: [EndpointMap, HeatCfnInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatCfnInternal, port]
             - /v1
@@ -999,7 +1941,14 @@ outputs:
                   get_param: [EndpointMap, HeatCfnInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatCfnInternal, port]
       HeatCfnPublic:
@@ -1009,7 +1958,24 @@ outputs:
               get_param: [EndpointMap, HeatCfnPublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, HeatCfnPublic, port]
         protocol:
@@ -1024,7 +1990,14 @@ outputs:
                   get_param: [EndpointMap, HeatCfnPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatCfnPublic, port]
             - /v1
@@ -1038,7 +2011,14 @@ outputs:
                   get_param: [EndpointMap, HeatCfnPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatCfnPublic, port]
       HorizonPublic:
@@ -1048,7 +2028,24 @@ outputs:
               get_param: [EndpointMap, HorizonPublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, HorizonPublic, port]
         protocol:
@@ -1063,7 +2060,14 @@ outputs:
                   get_param: [EndpointMap, HorizonPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HorizonPublic, port]
             - /dashboard
@@ -1077,7 +2081,14 @@ outputs:
                   get_param: [EndpointMap, HorizonPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HorizonPublic, port]
       IronicAdmin:
@@ -1087,7 +2098,24 @@ outputs:
               get_param: [EndpointMap, IronicAdmin, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: IronicApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, IronicApiNetwork]
         port:
           get_param: [EndpointMap, IronicAdmin, port]
         protocol:
@@ -1102,7 +2130,14 @@ outputs:
                   get_param: [EndpointMap, IronicAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: IronicApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, IronicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, IronicAdmin, port]
             - /v1
@@ -1116,7 +2151,14 @@ outputs:
                   get_param: [EndpointMap, IronicAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: IronicApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, IronicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, IronicAdmin, port]
       IronicInternal:
@@ -1126,9 +2168,26 @@ outputs:
               get_param: [EndpointMap, IronicInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: IronicApiVirtualIP}
-        port:
-          get_param: [EndpointMap, IronicInternal, port]
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, IronicApiNetwork]
+        port:
+          get_param: [EndpointMap, IronicInternal, port]
         protocol:
           get_param: [EndpointMap, IronicInternal, protocol]
         uri:
@@ -1141,7 +2200,14 @@ outputs:
                   get_param: [EndpointMap, IronicInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: IronicApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, IronicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, IronicInternal, port]
             - /v1
@@ -1155,7 +2221,14 @@ outputs:
                   get_param: [EndpointMap, IronicInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: IronicApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, IronicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, IronicInternal, port]
       IronicPublic:
@@ -1165,7 +2238,24 @@ outputs:
               get_param: [EndpointMap, IronicPublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, IronicPublic, port]
         protocol:
@@ -1180,7 +2270,14 @@ outputs:
                   get_param: [EndpointMap, IronicPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, IronicPublic, port]
             - /v1
@@ -1194,7 +2291,14 @@ outputs:
                   get_param: [EndpointMap, IronicPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, IronicPublic, port]
       KeystoneAdmin:
@@ -1204,7 +2308,24 @@ outputs:
               get_param: [EndpointMap, KeystoneAdmin, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
         port:
           get_param: [EndpointMap, KeystoneAdmin, port]
         protocol:
@@ -1219,7 +2340,14 @@ outputs:
                   get_param: [EndpointMap, KeystoneAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneAdmin, port]
             - /v2.0
@@ -1233,7 +2361,14 @@ outputs:
                   get_param: [EndpointMap, KeystoneAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneAdmin, port]
       KeystoneEC2:
@@ -1243,7 +2378,24 @@ outputs:
               get_param: [EndpointMap, KeystoneInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
         port:
           get_param: [EndpointMap, KeystoneInternal, port]
         protocol:
@@ -1258,7 +2410,14 @@ outputs:
                   get_param: [EndpointMap, KeystoneInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneInternal, port]
             - /v2.0/ec2tokens
@@ -1272,7 +2431,14 @@ outputs:
                   get_param: [EndpointMap, KeystoneInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneInternal, port]
       KeystoneInternal:
@@ -1282,7 +2448,24 @@ outputs:
               get_param: [EndpointMap, KeystoneInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
         port:
           get_param: [EndpointMap, KeystoneInternal, port]
         protocol:
@@ -1297,7 +2480,14 @@ outputs:
                   get_param: [EndpointMap, KeystoneInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneInternal, port]
             - /v2.0
@@ -1311,7 +2501,14 @@ outputs:
                   get_param: [EndpointMap, KeystoneInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneInternal, port]
       KeystonePublic:
@@ -1321,7 +2518,24 @@ outputs:
               get_param: [EndpointMap, KeystonePublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, KeystonePublic, port]
         protocol:
@@ -1336,7 +2550,14 @@ outputs:
                   get_param: [EndpointMap, KeystonePublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystonePublic, port]
             - /v2.0
@@ -1350,7 +2571,14 @@ outputs:
                   get_param: [EndpointMap, KeystonePublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystonePublic, port]
       KeystoneV3Admin:
@@ -1360,7 +2588,24 @@ outputs:
               get_param: [EndpointMap, KeystoneAdmin, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
         port:
           get_param: [EndpointMap, KeystoneAdmin, port]
         protocol:
@@ -1375,7 +2620,14 @@ outputs:
                   get_param: [EndpointMap, KeystoneAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneAdmin, port]
             - /v3
@@ -1389,7 +2641,14 @@ outputs:
                   get_param: [EndpointMap, KeystoneAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneAdmin, port]
       KeystoneV3Internal:
@@ -1399,7 +2658,24 @@ outputs:
               get_param: [EndpointMap, KeystoneInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
         port:
           get_param: [EndpointMap, KeystoneInternal, port]
         protocol:
@@ -1414,7 +2690,14 @@ outputs:
                   get_param: [EndpointMap, KeystoneInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneInternal, port]
             - /v3
@@ -1428,7 +2711,14 @@ outputs:
                   get_param: [EndpointMap, KeystoneInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneInternal, port]
       KeystoneV3Public:
@@ -1438,7 +2728,24 @@ outputs:
               get_param: [EndpointMap, KeystonePublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, KeystonePublic, port]
         protocol:
@@ -1453,7 +2760,14 @@ outputs:
                   get_param: [EndpointMap, KeystonePublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystonePublic, port]
             - /v3
@@ -1467,9 +2781,436 @@ outputs:
                   get_param: [EndpointMap, KeystonePublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystonePublic, port]
+      ManilaAdmin:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaAdmin, host]
+            params:
+              CLOUDNAME: {get_param: CloudName}
+              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:
+                - NetIpMap
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+        port:
+          get_param: [EndpointMap, ManilaAdmin, port]
+        protocol:
+          get_param: [EndpointMap, ManilaAdmin, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, ManilaAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, ManilaAdmin, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, ManilaAdmin, port]
+            - /v2/%(tenant_id)s
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, ManilaAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, ManilaAdmin, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, ManilaAdmin, port]
+      ManilaInternal:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaInternal, host]
+            params:
+              CLOUDNAME: {get_param: CloudName}
+              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:
+                - NetIpMap
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+        port:
+          get_param: [EndpointMap, ManilaInternal, port]
+        protocol:
+          get_param: [EndpointMap, ManilaInternal, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, ManilaInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, ManilaInternal, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, ManilaInternal, port]
+            - /v2/%(tenant_id)s
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, ManilaInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, ManilaInternal, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, ManilaInternal, port]
+      ManilaPublic:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaPublic, host]
+            params:
+              CLOUDNAME: {get_param: CloudName}
+              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:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
+        port:
+          get_param: [EndpointMap, ManilaPublic, port]
+        protocol:
+          get_param: [EndpointMap, ManilaPublic, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, ManilaPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, ManilaPublic, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, ManilaPublic, port]
+            - /v2/%(tenant_id)s
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, ManilaPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, ManilaPublic, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, ManilaPublic, port]
+      ManilaV1Admin:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaAdmin, host]
+            params:
+              CLOUDNAME: {get_param: CloudName}
+              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:
+                - NetIpMap
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+        port:
+          get_param: [EndpointMap, ManilaAdmin, port]
+        protocol:
+          get_param: [EndpointMap, ManilaAdmin, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, ManilaAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, ManilaAdmin, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, ManilaAdmin, port]
+            - /v1/%(tenant_id)s
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, ManilaAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, ManilaAdmin, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, ManilaAdmin, port]
+      ManilaV1Internal:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaInternal, host]
+            params:
+              CLOUDNAME: {get_param: CloudName}
+              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:
+                - NetIpMap
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+        port:
+          get_param: [EndpointMap, ManilaInternal, port]
+        protocol:
+          get_param: [EndpointMap, ManilaInternal, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, ManilaInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, ManilaInternal, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, ManilaInternal, port]
+            - /v1/%(tenant_id)s
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, ManilaInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, ManilaInternal, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, ManilaInternal, port]
+      ManilaV1Public:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaPublic, host]
+            params:
+              CLOUDNAME: {get_param: CloudName}
+              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:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
+        port:
+          get_param: [EndpointMap, ManilaPublic, port]
+        protocol:
+          get_param: [EndpointMap, ManilaPublic, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, ManilaPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, ManilaPublic, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, ManilaPublic, port]
+            - /v1/%(tenant_id)s
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, ManilaPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, ManilaPublic, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, ManilaPublic, port]
       MysqlInternal:
         host:
           str_replace:
@@ -1477,7 +3218,24 @@ outputs:
               get_param: [EndpointMap, MysqlInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: MysqlVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, MysqlNetwork]
         port:
           get_param: [EndpointMap, MysqlInternal, port]
         protocol:
@@ -1492,7 +3250,14 @@ outputs:
                   get_param: [EndpointMap, MysqlInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: MysqlVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, MysqlNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, MysqlInternal, port]
         uri_no_suffix:
@@ -1505,7 +3270,14 @@ outputs:
                   get_param: [EndpointMap, MysqlInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: MysqlVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, MysqlNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, MysqlInternal, port]
       NeutronAdmin:
@@ -1515,7 +3287,24 @@ outputs:
               get_param: [EndpointMap, NeutronAdmin, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NeutronApiNetwork]
         port:
           get_param: [EndpointMap, NeutronAdmin, port]
         protocol:
@@ -1530,7 +3319,14 @@ outputs:
                   get_param: [EndpointMap, NeutronAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NeutronApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NeutronAdmin, port]
         uri_no_suffix:
@@ -1543,7 +3339,14 @@ outputs:
                   get_param: [EndpointMap, NeutronAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NeutronApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NeutronAdmin, port]
       NeutronInternal:
@@ -1553,7 +3356,24 @@ outputs:
               get_param: [EndpointMap, NeutronInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+              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:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NeutronApiNetwork]
         port:
           get_param: [EndpointMap, NeutronInternal, port]
         protocol:
@@ -1568,7 +3388,14 @@ outputs:
                   get_param: [EndpointMap, NeutronInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NeutronApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NeutronInternal, port]
         uri_no_suffix:
@@ -1581,7 +3408,14 @@ outputs:
                   get_param: [EndpointMap, NeutronInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NeutronApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NeutronInternal, port]
       NeutronPublic:
@@ -1591,7 +3425,24 @@ outputs:
               get_param: [EndpointMap, NeutronPublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, NeutronPublic, port]
         protocol:
@@ -1606,7 +3457,14 @@ outputs:
                   get_param: [EndpointMap, NeutronPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NeutronPublic, port]
         uri_no_suffix:
@@ -1619,7 +3477,14 @@ outputs:
                   get_param: [EndpointMap, NeutronPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NeutronPublic, port]
       NovaAdmin:
@@ -1629,7 +3494,24 @@ outputs:
               get_param: [EndpointMap, NovaAdmin, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NovaApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NovaApiNetwork]
         port:
           get_param: [EndpointMap, NovaAdmin, port]
         protocol:
@@ -1644,10 +3526,17 @@ outputs:
                   get_param: [EndpointMap, NovaAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaAdmin, port]
-            - /v2.1/%(tenant_id)s
+            - /v2.1
         uri_no_suffix:
           list_join:
           - ''
@@ -1658,7 +3547,14 @@ outputs:
                   get_param: [EndpointMap, NovaAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaAdmin, port]
       NovaInternal:
@@ -1668,7 +3564,24 @@ outputs:
               get_param: [EndpointMap, NovaInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NovaApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NovaApiNetwork]
         port:
           get_param: [EndpointMap, NovaInternal, port]
         protocol:
@@ -1683,10 +3596,17 @@ outputs:
                   get_param: [EndpointMap, NovaInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaInternal, port]
-            - /v2.1/%(tenant_id)s
+            - /v2.1
         uri_no_suffix:
           list_join:
           - ''
@@ -1697,7 +3617,14 @@ outputs:
                   get_param: [EndpointMap, NovaInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaInternal, port]
       NovaPublic:
@@ -1707,7 +3634,24 @@ outputs:
               get_param: [EndpointMap, NovaPublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, NovaPublic, port]
         protocol:
@@ -1722,10 +3666,17 @@ outputs:
                   get_param: [EndpointMap, NovaPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  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
+            - /v2.1
         uri_no_suffix:
           list_join:
           - ''
@@ -1736,7 +3687,14 @@ outputs:
                   get_param: [EndpointMap, NovaPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaPublic, port]
       NovaVNCProxyAdmin:
@@ -1746,7 +3704,24 @@ outputs:
               get_param: [EndpointMap, NovaVNCProxyAdmin, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NovaApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NovaApiNetwork]
         port:
           get_param: [EndpointMap, NovaVNCProxyAdmin, port]
         protocol:
@@ -1761,7 +3736,14 @@ outputs:
                   get_param: [EndpointMap, NovaVNCProxyAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyAdmin, port]
         uri_no_suffix:
@@ -1774,7 +3756,14 @@ outputs:
                   get_param: [EndpointMap, NovaVNCProxyAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyAdmin, port]
       NovaVNCProxyInternal:
@@ -1784,7 +3773,24 @@ outputs:
               get_param: [EndpointMap, NovaVNCProxyInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NovaApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NovaApiNetwork]
         port:
           get_param: [EndpointMap, NovaVNCProxyInternal, port]
         protocol:
@@ -1799,7 +3805,14 @@ outputs:
                   get_param: [EndpointMap, NovaVNCProxyInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyInternal, port]
         uri_no_suffix:
@@ -1812,7 +3825,14 @@ outputs:
                   get_param: [EndpointMap, NovaVNCProxyInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyInternal, port]
       NovaVNCProxyPublic:
@@ -1822,7 +3842,24 @@ outputs:
               get_param: [EndpointMap, NovaVNCProxyPublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, NovaVNCProxyPublic, port]
         protocol:
@@ -1837,7 +3874,14 @@ outputs:
                   get_param: [EndpointMap, NovaVNCProxyPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyPublic, port]
         uri_no_suffix:
@@ -1850,7 +3894,14 @@ outputs:
                   get_param: [EndpointMap, NovaVNCProxyPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyPublic, port]
       SaharaAdmin:
@@ -1860,7 +3911,24 @@ outputs:
               get_param: [EndpointMap, SaharaAdmin, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SaharaApiNetwork]
         port:
           get_param: [EndpointMap, SaharaAdmin, port]
         protocol:
@@ -1875,7 +3943,14 @@ outputs:
                   get_param: [EndpointMap, SaharaAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+                  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
@@ -1889,7 +3964,14 @@ outputs:
                   get_param: [EndpointMap, SaharaAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SaharaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SaharaAdmin, port]
       SaharaInternal:
@@ -1899,7 +3981,24 @@ outputs:
               get_param: [EndpointMap, SaharaInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SaharaApiNetwork]
         port:
           get_param: [EndpointMap, SaharaInternal, port]
         protocol:
@@ -1914,7 +4013,14 @@ outputs:
                   get_param: [EndpointMap, SaharaInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+                  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
@@ -1928,7 +4034,14 @@ outputs:
                   get_param: [EndpointMap, SaharaInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SaharaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SaharaInternal, port]
       SaharaPublic:
@@ -1938,7 +4051,24 @@ outputs:
               get_param: [EndpointMap, SaharaPublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, SaharaPublic, port]
         protocol:
@@ -1953,7 +4083,14 @@ outputs:
                   get_param: [EndpointMap, SaharaPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  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
@@ -1967,7 +4104,14 @@ outputs:
                   get_param: [EndpointMap, SaharaPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SaharaPublic, port]
       SwiftAdmin:
@@ -1977,7 +4121,24 @@ outputs:
               get_param: [EndpointMap, SwiftAdmin, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
         port:
           get_param: [EndpointMap, SwiftAdmin, port]
         protocol:
@@ -1992,7 +4153,14 @@ outputs:
                   get_param: [EndpointMap, SwiftAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftAdmin, port]
         uri_no_suffix:
@@ -2005,7 +4173,14 @@ outputs:
                   get_param: [EndpointMap, SwiftAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftAdmin, port]
       SwiftInternal:
@@ -2015,7 +4190,24 @@ outputs:
               get_param: [EndpointMap, SwiftInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
         port:
           get_param: [EndpointMap, SwiftInternal, port]
         protocol:
@@ -2030,7 +4222,14 @@ outputs:
                   get_param: [EndpointMap, SwiftInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  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
@@ -2044,7 +4243,14 @@ outputs:
                   get_param: [EndpointMap, SwiftInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftInternal, port]
       SwiftPublic:
@@ -2054,7 +4260,24 @@ outputs:
               get_param: [EndpointMap, SwiftPublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, SwiftPublic, port]
         protocol:
@@ -2069,7 +4292,14 @@ outputs:
                   get_param: [EndpointMap, SwiftPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  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
@@ -2083,7 +4313,14 @@ outputs:
                   get_param: [EndpointMap, SwiftPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftPublic, port]
       SwiftS3Admin:
@@ -2093,7 +4330,24 @@ outputs:
               get_param: [EndpointMap, SwiftAdmin, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
         port:
           get_param: [EndpointMap, SwiftAdmin, port]
         protocol:
@@ -2108,7 +4362,14 @@ outputs:
                   get_param: [EndpointMap, SwiftAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftAdmin, port]
         uri_no_suffix:
@@ -2121,7 +4382,14 @@ outputs:
                   get_param: [EndpointMap, SwiftAdmin, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftAdmin, port]
       SwiftS3Internal:
@@ -2131,7 +4399,24 @@ outputs:
               get_param: [EndpointMap, SwiftInternal, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
         port:
           get_param: [EndpointMap, SwiftInternal, port]
         protocol:
@@ -2146,7 +4431,14 @@ outputs:
                   get_param: [EndpointMap, SwiftInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftInternal, port]
         uri_no_suffix:
@@ -2159,7 +4451,14 @@ outputs:
                   get_param: [EndpointMap, SwiftInternal, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftInternal, port]
       SwiftS3Public:
@@ -2169,7 +4468,24 @@ outputs:
               get_param: [EndpointMap, SwiftPublic, host]
             params:
               CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              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: CloudName}
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, SwiftPublic, port]
         protocol:
@@ -2184,7 +4500,14 @@ outputs:
                   get_param: [EndpointMap, SwiftPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftPublic, port]
         uri_no_suffix:
@@ -2197,6 +4520,13 @@ outputs:
                   get_param: [EndpointMap, SwiftPublic, host]
                 params:
                   CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftPublic, port]