Merge "Use parameter name to configure gmcast_listen_addr"
[apex-tripleo-heat-templates.git] / network / endpoints / endpoint_map.yaml
index 98dad25..734b643 100644 (file)
@@ -8,24 +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: ''}
-  MysqlNoBracketsVirtualIP: {type: string, default: ''}
-  ManilaApiVirtualIP: {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:
@@ -35,6 +25,9 @@ parameters:
       CeilometerAdmin: {protocol: http, port: '8777', host: IP_ADDRESS}
       CeilometerInternal: {protocol: http, port: '8777', host: IP_ADDRESS}
       CeilometerPublic: {protocol: http, port: '8777', host: IP_ADDRESS}
+      CephRgwAdmin: {protocol: http, port: '8080', host: IP_ADDRESS}
+      CephRgwInternal: {protocol: http, port: '8080', host: IP_ADDRESS}
+      CephRgwPublic: {protocol: http, port: '8080', host: IP_ADDRESS}
       CinderAdmin: {protocol: http, port: '8776', host: IP_ADDRESS}
       CinderInternal: {protocol: http, port: '8776', host: IP_ADDRESS}
       CinderPublic: {protocol: http, port: '8776', host: IP_ADDRESS}
@@ -62,8 +55,6 @@ parameters:
       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}
-      MysqlNoBracketsInternal: {protocol: mysql+pymysql, port: '3306',
-        host: IP_ADDRESS}
       NeutronAdmin: {protocol: http, port: '9696', host: IP_ADDRESS}
       NeutronInternal: {protocol: http, port: '9696', host: IP_ADDRESS}
       NeutronPublic: {protocol: http, port: '9696', host: IP_ADDRESS}
@@ -81,8 +72,11 @@ parameters:
       SwiftPublic: {protocol: http, port: '8080', host: IP_ADDRESS}
     description: Mapping of service endpoint -> protocol. Typically set
       via parameter_defaults in the resource registry.
-  CloudName: {type: string, default: overcloud, description: The DNS name
-      of this cloud. e.g. ci-overcloud.tripleo.org}
+  CloudEndpoints:
+    type: json
+    default: {}
+    description: A map containing the DNS names for the different endpoints
+      (external, internal_api, etc.)
 outputs:
   endpoint_map:
     value:
@@ -92,8 +86,31 @@ outputs:
             template:
               get_param: [EndpointMap, AodhAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: AodhApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, AodhApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, AodhApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, AodhAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, AodhApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, AodhApiNetwork]
         port:
           get_param: [EndpointMap, AodhAdmin, port]
         protocol:
@@ -107,8 +124,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, AodhAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: AodhApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, AodhApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, AodhApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhAdmin, port]
         uri_no_suffix:
@@ -120,8 +147,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, AodhAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: AodhApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, AodhApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, AodhApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhAdmin, port]
       AodhInternal:
@@ -130,8 +167,31 @@ outputs:
             template:
               get_param: [EndpointMap, AodhInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: AodhApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, AodhApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, AodhApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, AodhInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, AodhApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, AodhApiNetwork]
         port:
           get_param: [EndpointMap, AodhInternal, port]
         protocol:
@@ -145,8 +205,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, AodhInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: AodhApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, AodhApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, AodhApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhInternal, port]
         uri_no_suffix:
@@ -158,8 +228,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, AodhInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: AodhApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, AodhApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, AodhApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhInternal, port]
       AodhPublic:
@@ -168,8 +248,31 @@ outputs:
             template:
               get_param: [EndpointMap, AodhPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, AodhPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, AodhPublic, port]
         protocol:
@@ -183,8 +286,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, AodhPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhPublic, port]
         uri_no_suffix:
@@ -196,8 +309,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, AodhPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, AodhPublic, port]
       CeilometerAdmin:
@@ -206,8 +329,31 @@ outputs:
             template:
               get_param: [EndpointMap, CeilometerAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CeilometerApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CeilometerApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CeilometerAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CeilometerApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CeilometerApiNetwork]
         port:
           get_param: [EndpointMap, CeilometerAdmin, port]
         protocol:
@@ -221,8 +367,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CeilometerAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CeilometerApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CeilometerApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerAdmin, port]
         uri_no_suffix:
@@ -234,8 +390,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CeilometerAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CeilometerApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CeilometerApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerAdmin, port]
       CeilometerInternal:
@@ -244,8 +410,31 @@ outputs:
             template:
               get_param: [EndpointMap, CeilometerInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CeilometerApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CeilometerApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CeilometerInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CeilometerApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CeilometerApiNetwork]
         port:
           get_param: [EndpointMap, CeilometerInternal, port]
         protocol:
@@ -259,8 +448,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CeilometerInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CeilometerApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CeilometerApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerInternal, port]
         uri_no_suffix:
@@ -272,8 +471,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CeilometerInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CeilometerApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CeilometerApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerInternal, port]
       CeilometerPublic:
@@ -282,8 +491,31 @@ outputs:
             template:
               get_param: [EndpointMap, CeilometerPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CeilometerPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, CeilometerPublic, port]
         protocol:
@@ -297,8 +529,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CeilometerPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerPublic, port]
         uri_no_suffix:
@@ -310,18 +552,297 @@ outputs:
                 template:
                   get_param: [EndpointMap, CeilometerPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CeilometerPublic, port]
+      CephRgwAdmin:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CephRgwAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CephRgwNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CephRgwNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CephRgwAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CephRgwNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CephRgwNetwork]
+        port:
+          get_param: [EndpointMap, CephRgwAdmin, port]
+        protocol:
+          get_param: [EndpointMap, CephRgwAdmin, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CephRgwAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CephRgwAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CephRgwNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CephRgwNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CephRgwAdmin, port]
+            - /swift/v1
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CephRgwAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CephRgwAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CephRgwNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CephRgwNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CephRgwAdmin, port]
+      CephRgwInternal:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CephRgwInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CephRgwNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CephRgwNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CephRgwInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CephRgwNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CephRgwNetwork]
+        port:
+          get_param: [EndpointMap, CephRgwInternal, port]
+        protocol:
+          get_param: [EndpointMap, CephRgwInternal, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CephRgwInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CephRgwInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CephRgwNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CephRgwNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CephRgwInternal, port]
+            - /swift/v1
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CephRgwInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CephRgwInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CephRgwNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CephRgwNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CephRgwInternal, port]
+      CephRgwPublic:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CephRgwPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CephRgwPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
+        port:
+          get_param: [EndpointMap, CephRgwPublic, port]
+        protocol:
+          get_param: [EndpointMap, CephRgwPublic, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CephRgwPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CephRgwPublic, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CephRgwPublic, port]
+            - /swift/v1
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CephRgwPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CephRgwPublic, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CephRgwPublic, port]
       CinderAdmin:
         host:
           str_replace:
             template:
               get_param: [EndpointMap, CinderAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CinderApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CinderApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
         port:
           get_param: [EndpointMap, CinderAdmin, port]
         protocol:
@@ -335,8 +856,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderAdmin, port]
             - /v1/%(tenant_id)s
@@ -349,8 +880,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderAdmin, port]
       CinderInternal:
@@ -359,8 +900,31 @@ outputs:
             template:
               get_param: [EndpointMap, CinderInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CinderApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CinderApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
         port:
           get_param: [EndpointMap, CinderInternal, port]
         protocol:
@@ -374,8 +938,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderInternal, port]
             - /v1/%(tenant_id)s
@@ -388,8 +962,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderInternal, port]
       CinderPublic:
@@ -398,8 +982,31 @@ outputs:
             template:
               get_param: [EndpointMap, CinderPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, CinderPublic, port]
         protocol:
@@ -413,8 +1020,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderPublic, port]
             - /v1/%(tenant_id)s
@@ -427,8 +1044,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderPublic, port]
       CinderV2Admin:
@@ -437,8 +1064,31 @@ outputs:
             template:
               get_param: [EndpointMap, CinderAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CinderApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CinderApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
         port:
           get_param: [EndpointMap, CinderAdmin, port]
         protocol:
@@ -452,8 +1102,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderAdmin, port]
             - /v2/%(tenant_id)s
@@ -466,8 +1126,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderAdmin, port]
       CinderV2Internal:
@@ -476,8 +1146,31 @@ outputs:
             template:
               get_param: [EndpointMap, CinderInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: CinderApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CinderApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
         port:
           get_param: [EndpointMap, CinderInternal, port]
         protocol:
@@ -491,8 +1184,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderInternal, port]
             - /v2/%(tenant_id)s
@@ -505,8 +1208,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderInternal, port]
       CinderV2Public:
@@ -515,8 +1228,31 @@ outputs:
             template:
               get_param: [EndpointMap, CinderPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, CinderPublic, port]
         protocol:
@@ -530,8 +1266,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderPublic, port]
             - /v2/%(tenant_id)s
@@ -544,8 +1290,264 @@ outputs:
                 template:
                   get_param: [EndpointMap, CinderPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CinderPublic, port]
+      CinderV3Admin:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CinderApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+        port:
+          get_param: [EndpointMap, CinderAdmin, port]
+        protocol:
+          get_param: [EndpointMap, CinderAdmin, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CinderAdmin, port]
+            - /v3/%(tenant_id)s
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CinderAdmin, port]
+      CinderV3Internal:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, CinderApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+        port:
+          get_param: [EndpointMap, CinderInternal, port]
+        protocol:
+          get_param: [EndpointMap, CinderInternal, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CinderInternal, port]
+            - /v3/%(tenant_id)s
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, CinderApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, CinderApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CinderInternal, port]
+      CinderV3Public:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
+        port:
+          get_param: [EndpointMap, CinderPublic, port]
+        protocol:
+          get_param: [EndpointMap, CinderPublic, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderPublic, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, CinderPublic, port]
+            - /v3/%(tenant_id)s
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderPublic, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, CinderPublic, port]
       GlanceAdmin:
@@ -554,8 +1556,31 @@ outputs:
             template:
               get_param: [EndpointMap, GlanceAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GlanceApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, GlanceApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, GlanceAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GlanceApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, GlanceApiNetwork]
         port:
           get_param: [EndpointMap, GlanceAdmin, port]
         protocol:
@@ -569,8 +1594,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GlanceAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GlanceApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceAdmin, port]
         uri_no_suffix:
@@ -582,8 +1617,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GlanceAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GlanceApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceAdmin, port]
       GlanceInternal:
@@ -592,8 +1637,31 @@ outputs:
             template:
               get_param: [EndpointMap, GlanceInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GlanceApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, GlanceApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, GlanceInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GlanceApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, GlanceApiNetwork]
         port:
           get_param: [EndpointMap, GlanceInternal, port]
         protocol:
@@ -607,8 +1675,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GlanceInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GlanceApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceInternal, port]
         uri_no_suffix:
@@ -620,8 +1698,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GlanceInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GlanceApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceInternal, port]
       GlancePublic:
@@ -630,8 +1718,31 @@ outputs:
             template:
               get_param: [EndpointMap, GlancePublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, GlancePublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, GlancePublic, port]
         protocol:
@@ -645,8 +1756,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GlancePublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlancePublic, port]
         uri_no_suffix:
@@ -658,8 +1779,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GlancePublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlancePublic, port]
       GlanceRegistryInternal:
@@ -668,8 +1799,31 @@ outputs:
             template:
               get_param: [EndpointMap, GlanceRegistryInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: GlanceRegistryVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GlanceRegistryNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, GlanceRegistryNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, GlanceRegistryInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GlanceRegistryNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, GlanceRegistryNetwork]
         port:
           get_param: [EndpointMap, GlanceRegistryInternal, port]
         protocol:
@@ -683,8 +1837,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GlanceRegistryInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceRegistryVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GlanceRegistryNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceRegistryNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceRegistryInternal, port]
         uri_no_suffix:
@@ -696,8 +1860,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GlanceRegistryInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceRegistryVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GlanceRegistryNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GlanceRegistryNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GlanceRegistryInternal, port]
       GnocchiAdmin:
@@ -706,8 +1880,31 @@ outputs:
             template:
               get_param: [EndpointMap, GnocchiAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GnocchiApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, GnocchiApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, GnocchiAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GnocchiApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, GnocchiApiNetwork]
         port:
           get_param: [EndpointMap, GnocchiAdmin, port]
         protocol:
@@ -721,8 +1918,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GnocchiAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GnocchiApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GnocchiApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiAdmin, port]
         uri_no_suffix:
@@ -734,8 +1941,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GnocchiAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GnocchiApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GnocchiApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiAdmin, port]
       GnocchiInternal:
@@ -744,8 +1961,31 @@ outputs:
             template:
               get_param: [EndpointMap, GnocchiInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GnocchiApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, GnocchiApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, GnocchiInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, GnocchiApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, GnocchiApiNetwork]
         port:
           get_param: [EndpointMap, GnocchiInternal, port]
         protocol:
@@ -759,8 +1999,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GnocchiInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GnocchiApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GnocchiApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiInternal, port]
         uri_no_suffix:
@@ -772,8 +2022,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GnocchiInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, GnocchiApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, GnocchiApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiInternal, port]
       GnocchiPublic:
@@ -782,8 +2042,31 @@ outputs:
             template:
               get_param: [EndpointMap, GnocchiPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, GnocchiPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, GnocchiPublic, port]
         protocol:
@@ -797,8 +2080,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GnocchiPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiPublic, port]
         uri_no_suffix:
@@ -810,8 +2103,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, GnocchiPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, GnocchiPublic, port]
       HeatAdmin:
@@ -820,8 +2123,31 @@ outputs:
             template:
               get_param: [EndpointMap, HeatAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: HeatApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, HeatApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, HeatApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, HeatAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, HeatApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, HeatApiNetwork]
         port:
           get_param: [EndpointMap, HeatAdmin, port]
         protocol:
@@ -835,8 +2161,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, HeatApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatAdmin, port]
             - /v1/%(tenant_id)s
@@ -849,8 +2185,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, HeatApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatAdmin, port]
       HeatInternal:
@@ -859,8 +2205,31 @@ outputs:
             template:
               get_param: [EndpointMap, HeatInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: HeatApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, HeatApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, HeatApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, HeatInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, HeatApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, HeatApiNetwork]
         port:
           get_param: [EndpointMap, HeatInternal, port]
         protocol:
@@ -874,8 +2243,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, HeatApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatInternal, port]
             - /v1/%(tenant_id)s
@@ -888,8 +2267,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, HeatApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatInternal, port]
       HeatPublic:
@@ -898,8 +2287,31 @@ outputs:
             template:
               get_param: [EndpointMap, HeatPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, HeatPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, HeatPublic, port]
         protocol:
@@ -913,8 +2325,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatPublic, port]
             - /v1/%(tenant_id)s
@@ -927,8 +2349,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatPublic, port]
       HeatCfnAdmin:
@@ -937,8 +2369,31 @@ outputs:
             template:
               get_param: [EndpointMap, HeatCfnAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: HeatApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, HeatApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, HeatApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, HeatCfnAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, HeatApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, HeatApiNetwork]
         port:
           get_param: [EndpointMap, HeatCfnAdmin, port]
         protocol:
@@ -952,8 +2407,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatCfnAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, HeatApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatCfnAdmin, port]
             - /v1
@@ -966,8 +2431,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatCfnAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, HeatApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatCfnAdmin, port]
       HeatCfnInternal:
@@ -976,8 +2451,31 @@ outputs:
             template:
               get_param: [EndpointMap, HeatCfnInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: HeatApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, HeatApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, HeatApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, HeatCfnInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, HeatApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, HeatApiNetwork]
         port:
           get_param: [EndpointMap, HeatCfnInternal, port]
         protocol:
@@ -991,8 +2489,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatCfnInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, HeatApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatCfnInternal, port]
             - /v1
@@ -1005,8 +2513,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatCfnInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: HeatApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, HeatApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, HeatApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatCfnInternal, port]
       HeatCfnPublic:
@@ -1015,8 +2533,31 @@ outputs:
             template:
               get_param: [EndpointMap, HeatCfnPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, HeatCfnPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, HeatCfnPublic, port]
         protocol:
@@ -1030,8 +2571,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatCfnPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatCfnPublic, port]
             - /v1
@@ -1044,8 +2595,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HeatCfnPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HeatCfnPublic, port]
       HorizonPublic:
@@ -1054,8 +2615,31 @@ outputs:
             template:
               get_param: [EndpointMap, HorizonPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, HorizonPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, HorizonPublic, port]
         protocol:
@@ -1069,8 +2653,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HorizonPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HorizonPublic, port]
             - /dashboard
@@ -1083,8 +2677,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, HorizonPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, HorizonPublic, port]
       IronicAdmin:
@@ -1093,8 +2697,31 @@ outputs:
             template:
               get_param: [EndpointMap, IronicAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: IronicApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, IronicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, IronicApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, IronicAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, IronicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, IronicApiNetwork]
         port:
           get_param: [EndpointMap, IronicAdmin, port]
         protocol:
@@ -1108,8 +2735,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, IronicAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: IronicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, IronicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, IronicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, IronicAdmin, port]
             - /v1
@@ -1122,8 +2759,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, IronicAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: IronicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, IronicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, IronicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, IronicAdmin, port]
       IronicInternal:
@@ -1132,8 +2779,31 @@ outputs:
             template:
               get_param: [EndpointMap, IronicInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: IronicApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, IronicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, IronicApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, IronicInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, IronicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, IronicApiNetwork]
         port:
           get_param: [EndpointMap, IronicInternal, port]
         protocol:
@@ -1147,8 +2817,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, IronicInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: IronicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, IronicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, IronicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, IronicInternal, port]
             - /v1
@@ -1161,8 +2841,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, IronicInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: IronicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, IronicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, IronicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, IronicInternal, port]
       IronicPublic:
@@ -1171,8 +2861,31 @@ outputs:
             template:
               get_param: [EndpointMap, IronicPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, IronicPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, IronicPublic, port]
         protocol:
@@ -1186,8 +2899,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, IronicPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, IronicPublic, port]
             - /v1
@@ -1200,8 +2923,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, IronicPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, IronicPublic, port]
       KeystoneAdmin:
@@ -1210,8 +2943,31 @@ outputs:
             template:
               get_param: [EndpointMap, KeystoneAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
         port:
           get_param: [EndpointMap, KeystoneAdmin, port]
         protocol:
@@ -1225,8 +2981,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystoneAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneAdmin, port]
             - /v2.0
@@ -1239,8 +3005,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystoneAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneAdmin, port]
       KeystoneEC2:
@@ -1249,8 +3025,31 @@ outputs:
             template:
               get_param: [EndpointMap, KeystoneInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
         port:
           get_param: [EndpointMap, KeystoneInternal, port]
         protocol:
@@ -1264,8 +3063,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystoneInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneInternal, port]
             - /v2.0/ec2tokens
@@ -1278,8 +3087,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystoneInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneInternal, port]
       KeystoneInternal:
@@ -1288,8 +3107,31 @@ outputs:
             template:
               get_param: [EndpointMap, KeystoneInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
         port:
           get_param: [EndpointMap, KeystoneInternal, port]
         protocol:
@@ -1303,8 +3145,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystoneInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneInternal, port]
             - /v2.0
@@ -1317,8 +3169,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystoneInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneInternal, port]
       KeystonePublic:
@@ -1327,8 +3189,31 @@ outputs:
             template:
               get_param: [EndpointMap, KeystonePublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystonePublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, KeystonePublic, port]
         protocol:
@@ -1342,8 +3227,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystonePublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystonePublic, port]
             - /v2.0
@@ -1356,8 +3251,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystonePublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystonePublic, port]
       KeystoneV3Admin:
@@ -1366,8 +3271,31 @@ outputs:
             template:
               get_param: [EndpointMap, KeystoneAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
         port:
           get_param: [EndpointMap, KeystoneAdmin, port]
         protocol:
@@ -1381,8 +3309,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystoneAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneAdmin, port]
             - /v3
@@ -1395,8 +3333,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystoneAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneAdmin, port]
       KeystoneV3Internal:
@@ -1405,8 +3353,31 @@ outputs:
             template:
               get_param: [EndpointMap, KeystoneInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
         port:
           get_param: [EndpointMap, KeystoneInternal, port]
         protocol:
@@ -1420,8 +3391,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystoneInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneInternal, port]
             - /v3
@@ -1434,8 +3415,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystoneInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystoneInternal, port]
       KeystoneV3Public:
@@ -1444,8 +3435,31 @@ outputs:
             template:
               get_param: [EndpointMap, KeystonePublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystonePublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, KeystonePublic, port]
         protocol:
@@ -1459,8 +3473,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystonePublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystonePublic, port]
             - /v3
@@ -1473,8 +3497,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, KeystonePublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, KeystonePublic, port]
       ManilaAdmin:
@@ -1483,8 +3517,31 @@ outputs:
             template:
               get_param: [EndpointMap, ManilaAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: ManilaApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, ManilaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
         port:
           get_param: [EndpointMap, ManilaAdmin, port]
         protocol:
@@ -1498,8 +3555,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, ManilaAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: ManilaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, ManilaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, ManilaAdmin, port]
             - /v2/%(tenant_id)s
@@ -1512,8 +3579,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, ManilaAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: ManilaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, ManilaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, ManilaAdmin, port]
       ManilaInternal:
@@ -1522,8 +3599,31 @@ outputs:
             template:
               get_param: [EndpointMap, ManilaInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: ManilaApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, ManilaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
         port:
           get_param: [EndpointMap, ManilaInternal, port]
         protocol:
@@ -1537,8 +3637,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, ManilaInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: ManilaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, ManilaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, ManilaInternal, port]
             - /v2/%(tenant_id)s
@@ -1551,8 +3661,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, ManilaInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: ManilaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, ManilaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, ManilaInternal, port]
       ManilaPublic:
@@ -1561,8 +3681,31 @@ outputs:
             template:
               get_param: [EndpointMap, ManilaPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, ManilaPublic, port]
         protocol:
@@ -1576,8 +3719,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, ManilaPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, ManilaPublic, port]
             - /v2/%(tenant_id)s
@@ -1590,94 +3743,378 @@ outputs:
                 template:
                   get_param: [EndpointMap, ManilaPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, ManilaPublic, port]
-      MysqlInternal:
+      ManilaV1Admin:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, MysqlInternal, host]
+              get_param: [EndpointMap, ManilaAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, ManilaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: MysqlVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
         port:
-          get_param: [EndpointMap, MysqlInternal, port]
+          get_param: [EndpointMap, ManilaAdmin, port]
         protocol:
-          get_param: [EndpointMap, MysqlInternal, protocol]
+          get_param: [EndpointMap, ManilaAdmin, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, MysqlInternal, protocol]
+          - - get_param: [EndpointMap, ManilaAdmin, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, MysqlInternal, host]
+                  get_param: [EndpointMap, ManilaAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: MysqlVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, ManilaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, MysqlInternal, port]
+            - get_param: [EndpointMap, ManilaAdmin, port]
+            - /v1/%(tenant_id)s
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, MysqlInternal, protocol]
+          - - get_param: [EndpointMap, ManilaAdmin, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, MysqlInternal, host]
+                  get_param: [EndpointMap, ManilaAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: MysqlVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, ManilaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, ManilaApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, MysqlInternal, port]
-      MysqlNoBracketsInternal:
+            - get_param: [EndpointMap, ManilaAdmin, port]
+      ManilaV1Internal:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, ManilaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              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:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, ManilaApiNetwork]
+                  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:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, ManilaApiNetwork]
+                  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:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
+        port:
+          get_param: [EndpointMap, 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:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  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:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  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:
             template:
-              get_param: [EndpointMap, MysqlNoBracketsInternal, host]
+              get_param: [EndpointMap, MysqlInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, MysqlNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, MysqlNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, MysqlInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: MysqlNoBracketsVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, MysqlNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, MysqlNetwork]
         port:
-          get_param: [EndpointMap, MysqlNoBracketsInternal, port]
+          get_param: [EndpointMap, MysqlInternal, port]
         protocol:
-          get_param: [EndpointMap, MysqlNoBracketsInternal, protocol]
+          get_param: [EndpointMap, MysqlInternal, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, MysqlNoBracketsInternal, protocol]
+          - - get_param: [EndpointMap, MysqlInternal, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, MysqlNoBracketsInternal, host]
+                  get_param: [EndpointMap, MysqlInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: MysqlNoBracketsVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, MysqlNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, MysqlNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, MysqlNoBracketsInternal, port]
+            - get_param: [EndpointMap, MysqlInternal, port]
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, MysqlNoBracketsInternal, protocol]
+          - - get_param: [EndpointMap, MysqlInternal, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, MysqlNoBracketsInternal, host]
+                  get_param: [EndpointMap, MysqlInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: MysqlNoBracketsVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, MysqlNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, MysqlNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, MysqlNoBracketsInternal, port]
+            - get_param: [EndpointMap, MysqlInternal, port]
       NeutronAdmin:
         host:
           str_replace:
             template:
               get_param: [EndpointMap, NeutronAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NeutronApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, NeutronApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NeutronAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NeutronApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NeutronApiNetwork]
         port:
           get_param: [EndpointMap, NeutronAdmin, port]
         protocol:
@@ -1691,8 +4128,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NeutronAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NeutronApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NeutronApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NeutronAdmin, port]
         uri_no_suffix:
@@ -1704,8 +4151,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NeutronAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NeutronApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NeutronApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NeutronAdmin, port]
       NeutronInternal:
@@ -1714,8 +4171,31 @@ outputs:
             template:
               get_param: [EndpointMap, NeutronInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NeutronApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, NeutronApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NeutronInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NeutronApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NeutronApiNetwork]
         port:
           get_param: [EndpointMap, NeutronInternal, port]
         protocol:
@@ -1729,8 +4209,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NeutronInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NeutronApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NeutronApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NeutronInternal, port]
         uri_no_suffix:
@@ -1742,8 +4232,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NeutronInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NeutronApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NeutronApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NeutronInternal, port]
       NeutronPublic:
@@ -1752,8 +4252,31 @@ outputs:
             template:
               get_param: [EndpointMap, NeutronPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - 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:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, NeutronPublic, port]
         protocol:
@@ -1767,8 +4290,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NeutronPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NeutronPublic, port]
         uri_no_suffix:
@@ -1780,8 +4313,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NeutronPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NeutronPublic, port]
       NovaAdmin:
@@ -1790,8 +4333,31 @@ outputs:
             template:
               get_param: [EndpointMap, NovaAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NovaApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, NovaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NovaAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NovaApiNetwork]
         port:
           get_param: [EndpointMap, NovaAdmin, port]
         protocol:
@@ -1805,8 +4371,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NovaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaAdmin, port]
             - /v2.1
@@ -1819,8 +4395,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NovaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaAdmin, port]
       NovaInternal:
@@ -1829,8 +4415,31 @@ outputs:
             template:
               get_param: [EndpointMap, NovaInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NovaApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, NovaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NovaInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NovaApiNetwork]
         port:
           get_param: [EndpointMap, NovaInternal, port]
         protocol:
@@ -1844,8 +4453,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NovaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaInternal, port]
             - /v2.1
@@ -1858,8 +4477,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NovaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaInternal, port]
       NovaPublic:
@@ -1868,8 +4497,31 @@ outputs:
             template:
               get_param: [EndpointMap, NovaPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NovaPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, NovaPublic, port]
         protocol:
@@ -1883,8 +4535,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaPublic, port]
             - /v2.1
@@ -1897,8 +4559,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaPublic, port]
       NovaVNCProxyAdmin:
@@ -1907,8 +4579,31 @@ outputs:
             template:
               get_param: [EndpointMap, NovaVNCProxyAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NovaApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, NovaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NovaVNCProxyAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NovaApiNetwork]
         port:
           get_param: [EndpointMap, NovaVNCProxyAdmin, port]
         protocol:
@@ -1922,8 +4617,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaVNCProxyAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NovaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyAdmin, port]
         uri_no_suffix:
@@ -1935,8 +4640,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaVNCProxyAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NovaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyAdmin, port]
       NovaVNCProxyInternal:
@@ -1945,8 +4660,31 @@ outputs:
             template:
               get_param: [EndpointMap, NovaVNCProxyInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: NovaApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, NovaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NovaVNCProxyInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, NovaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, NovaApiNetwork]
         port:
           get_param: [EndpointMap, NovaVNCProxyInternal, port]
         protocol:
@@ -1960,8 +4698,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaVNCProxyInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NovaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyInternal, port]
         uri_no_suffix:
@@ -1973,8 +4721,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaVNCProxyInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: NovaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, NovaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, NovaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyInternal, port]
       NovaVNCProxyPublic:
@@ -1983,8 +4741,31 @@ outputs:
             template:
               get_param: [EndpointMap, NovaVNCProxyPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, NovaVNCProxyPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, NovaVNCProxyPublic, port]
         protocol:
@@ -1998,8 +4779,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaVNCProxyPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyPublic, port]
         uri_no_suffix:
@@ -2011,8 +4802,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, NovaVNCProxyPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, NovaVNCProxyPublic, port]
       SaharaAdmin:
@@ -2021,8 +4822,31 @@ outputs:
             template:
               get_param: [EndpointMap, SaharaAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SaharaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, SaharaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SaharaAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SaharaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SaharaApiNetwork]
         port:
           get_param: [EndpointMap, SaharaAdmin, port]
         protocol:
@@ -2036,8 +4860,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SaharaAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SaharaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SaharaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SaharaAdmin, port]
             - /v1.1/%(tenant_id)s
@@ -2050,8 +4884,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SaharaAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SaharaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SaharaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SaharaAdmin, port]
       SaharaInternal:
@@ -2060,8 +4904,31 @@ outputs:
             template:
               get_param: [EndpointMap, SaharaInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SaharaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, SaharaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SaharaInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SaharaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SaharaApiNetwork]
         port:
           get_param: [EndpointMap, SaharaInternal, port]
         protocol:
@@ -2075,8 +4942,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SaharaInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SaharaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SaharaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SaharaInternal, port]
             - /v1.1/%(tenant_id)s
@@ -2089,8 +4966,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SaharaInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SaharaApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SaharaApiNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SaharaInternal, port]
       SaharaPublic:
@@ -2099,8 +4986,31 @@ outputs:
             template:
               get_param: [EndpointMap, SaharaPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SaharaPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, SaharaPublic, port]
         protocol:
@@ -2114,8 +5024,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SaharaPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SaharaPublic, port]
             - /v1.1/%(tenant_id)s
@@ -2128,8 +5048,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SaharaPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SaharaPublic, port]
       SwiftAdmin:
@@ -2138,8 +5068,31 @@ outputs:
             template:
               get_param: [EndpointMap, SwiftAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, SwiftProxyNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SwiftAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
         port:
           get_param: [EndpointMap, SwiftAdmin, port]
         protocol:
@@ -2153,8 +5106,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SwiftProxyNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftAdmin, port]
         uri_no_suffix:
@@ -2166,8 +5129,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SwiftProxyNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftAdmin, port]
       SwiftInternal:
@@ -2176,8 +5149,31 @@ outputs:
             template:
               get_param: [EndpointMap, SwiftInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, SwiftProxyNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SwiftInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
         port:
           get_param: [EndpointMap, SwiftInternal, port]
         protocol:
@@ -2191,8 +5187,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SwiftProxyNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftInternal, port]
             - /v1/AUTH_%(tenant_id)s
@@ -2205,8 +5211,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SwiftProxyNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftInternal, port]
       SwiftPublic:
@@ -2215,8 +5231,31 @@ outputs:
             template:
               get_param: [EndpointMap, SwiftPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SwiftPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, SwiftPublic, port]
         protocol:
@@ -2230,8 +5269,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftPublic, port]
             - /v1/AUTH_%(tenant_id)s
@@ -2244,8 +5293,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftPublic, port]
       SwiftS3Admin:
@@ -2254,8 +5313,31 @@ outputs:
             template:
               get_param: [EndpointMap, SwiftAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, SwiftProxyNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SwiftAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
         port:
           get_param: [EndpointMap, SwiftAdmin, port]
         protocol:
@@ -2269,8 +5351,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SwiftProxyNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftAdmin, port]
         uri_no_suffix:
@@ -2282,8 +5374,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SwiftProxyNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftAdmin, port]
       SwiftS3Internal:
@@ -2292,8 +5394,31 @@ outputs:
             template:
               get_param: [EndpointMap, SwiftInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, SwiftProxyNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SwiftInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, SwiftProxyNetwork]
         port:
           get_param: [EndpointMap, SwiftInternal, port]
         protocol:
@@ -2307,8 +5432,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SwiftProxyNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftInternal, port]
         uri_no_suffix:
@@ -2320,8 +5455,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, SwiftProxyNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, SwiftProxyNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftInternal, port]
       SwiftS3Public:
@@ -2330,8 +5475,31 @@ outputs:
             template:
               get_param: [EndpointMap, SwiftPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, SwiftPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
           get_param: [EndpointMap, SwiftPublic, port]
         protocol:
@@ -2345,8 +5513,18 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftPublic, port]
         uri_no_suffix:
@@ -2358,7 +5536,17 @@ outputs:
                 template:
                   get_param: [EndpointMap, SwiftPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
             - get_param: [EndpointMap, SwiftPublic, port]