Merge "Add Mistral to scenario003"
[apex-tripleo-heat-templates.git] / network / endpoints / endpoint_map.yaml
index e1b8984..5e582d4 100644 (file)
@@ -8,32 +8,29 @@ 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: ''}
-  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:
       AodhAdmin: {protocol: http, port: '8042', host: IP_ADDRESS}
       AodhInternal: {protocol: http, port: '8042', host: IP_ADDRESS}
       AodhPublic: {protocol: http, port: '8042', host: IP_ADDRESS}
+      BarbicanAdmin: {protocol: http, port: '9311', host: IP_ADDRESS}
+      BarbicanInternal: {protocol: http, port: '9311', host: IP_ADDRESS}
+      BarbicanPublic: {protocol: http, port: '9311', host: IP_ADDRESS}
       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}
@@ -57,9 +54,13 @@ parameters:
       KeystoneAdmin: {protocol: http, port: '35357', host: IP_ADDRESS}
       KeystoneInternal: {protocol: http, port: '5000', host: IP_ADDRESS}
       KeystonePublic: {protocol: http, port: '5000', host: IP_ADDRESS}
+      ManilaAdmin: {protocol: http, port: '8786', host: IP_ADDRESS}
+      ManilaInternal: {protocol: http, port: '8786', host: IP_ADDRESS}
+      ManilaPublic: {protocol: http, port: '8786', host: IP_ADDRESS}
+      MistralAdmin: {protocol: http, port: '8989', host: IP_ADDRESS}
+      MistralInternal: {protocol: http, port: '8989', host: IP_ADDRESS}
+      MistralPublic: {protocol: http, port: '8989', 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}
@@ -69,6 +70,9 @@ parameters:
       NovaVNCProxyAdmin: {protocol: http, port: '6080', host: IP_ADDRESS}
       NovaVNCProxyInternal: {protocol: http, port: '6080', host: IP_ADDRESS}
       NovaVNCProxyPublic: {protocol: http, port: '6080', host: IP_ADDRESS}
+      PankoAdmin: {protocol: http, port: '8779', host: IP_ADDRESS}
+      PankoInternal: {protocol: http, port: '8779', host: IP_ADDRESS}
+      PankoPublic: {protocol: http, port: '8779', host: IP_ADDRESS}
       SaharaAdmin: {protocol: http, port: '8386', host: IP_ADDRESS}
       SaharaInternal: {protocol: http, port: '8386', host: IP_ADDRESS}
       SaharaPublic: {protocol: http, port: '8386', host: IP_ADDRESS}
@@ -77,8 +81,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:
@@ -88,8 +95,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:
@@ -103,8 +133,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:
@@ -116,8 +156,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:
@@ -126,8 +176,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:
@@ -141,8 +214,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:
@@ -154,8 +237,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:
@@ -164,8 +257,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:
@@ -179,8 +295,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:
@@ -192,18 +318,294 @@ 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]
+      BarbicanAdmin:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, BarbicanAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, BarbicanApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, BarbicanApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, BarbicanAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, BarbicanApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, BarbicanApiNetwork]
+        port:
+          get_param: [EndpointMap, BarbicanAdmin, port]
+        protocol:
+          get_param: [EndpointMap, BarbicanAdmin, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, BarbicanAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, BarbicanAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, BarbicanApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, BarbicanApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, BarbicanAdmin, port]
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, BarbicanAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, BarbicanAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, BarbicanApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, BarbicanApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, BarbicanAdmin, port]
+      BarbicanInternal:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, BarbicanInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, BarbicanApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, BarbicanApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, BarbicanInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, BarbicanApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, BarbicanApiNetwork]
+        port:
+          get_param: [EndpointMap, BarbicanInternal, port]
+        protocol:
+          get_param: [EndpointMap, BarbicanInternal, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, BarbicanInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, BarbicanInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, BarbicanApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, BarbicanApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, BarbicanInternal, port]
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, BarbicanInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, BarbicanInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, BarbicanApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, BarbicanApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, BarbicanInternal, port]
+      BarbicanPublic:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, BarbicanPublic, 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, BarbicanPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
+        port:
+          get_param: [EndpointMap, BarbicanPublic, port]
+        protocol:
+          get_param: [EndpointMap, BarbicanPublic, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, BarbicanPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, BarbicanPublic, 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, BarbicanPublic, port]
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, BarbicanPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, BarbicanPublic, 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, BarbicanPublic, port]
       CeilometerAdmin:
         host:
           str_replace:
             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:
@@ -217,8 +619,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:
@@ -230,8 +642,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:
@@ -240,8 +662,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:
@@ -255,8 +700,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:
@@ -268,8 +723,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:
@@ -278,8 +743,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:
@@ -293,8 +781,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:
@@ -306,18 +804,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:
@@ -331,8 +1108,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
@@ -345,8 +1132,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:
@@ -355,8 +1152,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:
@@ -370,8 +1190,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
@@ -384,8 +1214,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:
@@ -394,8 +1234,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:
@@ -409,8 +1272,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
@@ -423,8 +1296,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:
@@ -433,8 +1316,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:
@@ -448,8 +1354,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
@@ -462,8 +1378,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:
@@ -472,8 +1398,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:
@@ -487,8 +1436,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
@@ -501,8 +1460,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:
@@ -511,8 +1480,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:
@@ -526,8 +1518,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
@@ -540,96 +1542,461 @@ 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]
-      GlanceAdmin:
+      CinderV3Admin:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, GlanceAdmin, host]
+              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: CloudName}
-              IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
         port:
-          get_param: [EndpointMap, GlanceAdmin, port]
+          get_param: [EndpointMap, CinderAdmin, port]
         protocol:
-          get_param: [EndpointMap, GlanceAdmin, protocol]
+          get_param: [EndpointMap, CinderAdmin, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, GlanceAdmin, protocol]
+          - - get_param: [EndpointMap, CinderAdmin, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, GlanceAdmin, host]
+                  get_param: [EndpointMap, CinderAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+                  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, GlanceAdmin, port]
+            - get_param: [EndpointMap, CinderAdmin, port]
+            - /v3/%(tenant_id)s
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, GlanceAdmin, protocol]
+          - - get_param: [EndpointMap, CinderAdmin, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, GlanceAdmin, host]
+                  get_param: [EndpointMap, CinderAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+                  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, GlanceAdmin, port]
-      GlanceInternal:
+            - get_param: [EndpointMap, CinderAdmin, port]
+      CinderV3Internal:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, GlanceInternal, host]
+              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: CloudName}
-              IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, CinderApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, CinderApiNetwork]
         port:
-          get_param: [EndpointMap, GlanceInternal, port]
+          get_param: [EndpointMap, CinderInternal, port]
         protocol:
-          get_param: [EndpointMap, GlanceInternal, protocol]
+          get_param: [EndpointMap, CinderInternal, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, GlanceInternal, protocol]
+          - - get_param: [EndpointMap, CinderInternal, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, GlanceInternal, host]
+                  get_param: [EndpointMap, CinderInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+                  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, GlanceInternal, port]
+            - get_param: [EndpointMap, CinderInternal, port]
+            - /v3/%(tenant_id)s
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, GlanceInternal, protocol]
+          - - get_param: [EndpointMap, CinderInternal, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, GlanceInternal, host]
+                  get_param: [EndpointMap, CinderInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+                  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, GlanceInternal, port]
-      GlancePublic:
+            - get_param: [EndpointMap, CinderInternal, port]
+      CinderV3Public:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, GlancePublic, host]
+              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: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
-          get_param: [EndpointMap, GlancePublic, 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:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, GlanceAdmin, host]
+            params:
+              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:
+          get_param: [EndpointMap, GlanceAdmin, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, GlanceAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, GlanceAdmin, host]
+                params:
+                  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:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, GlanceAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, GlanceAdmin, host]
+                params:
+                  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:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, GlanceInternal, host]
+            params:
+              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:
+          get_param: [EndpointMap, GlanceInternal, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, GlanceInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, GlanceInternal, host]
+                params:
+                  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:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, GlanceInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, GlanceInternal, host]
+                params:
+                  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:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, GlancePublic, 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, 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:
           get_param: [EndpointMap, GlancePublic, protocol]
         uri:
@@ -641,8 +2008,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:
@@ -654,8 +2031,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:
@@ -664,8 +2051,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:
@@ -679,8 +2089,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:
@@ -692,8 +2112,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:
@@ -702,8 +2132,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:
@@ -717,8 +2170,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:
@@ -730,8 +2193,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:
@@ -740,8 +2213,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:
@@ -755,8 +2251,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:
@@ -768,8 +2274,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:
@@ -778,8 +2294,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:
@@ -793,8 +2332,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:
@@ -806,8 +2355,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:
@@ -816,8 +2375,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:
@@ -831,8 +2413,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
@@ -845,8 +2437,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:
@@ -855,8 +2457,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:
@@ -870,8 +2495,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
@@ -884,8 +2519,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:
@@ -894,8 +2539,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:
@@ -909,8 +2577,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
@@ -923,8 +2601,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:
@@ -933,8 +2621,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:
@@ -948,8 +2659,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
@@ -962,8 +2683,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:
@@ -972,8 +2703,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:
@@ -987,8 +2741,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
@@ -1001,8 +2765,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:
@@ -1011,8 +2785,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:
@@ -1026,8 +2823,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
@@ -1040,8 +2847,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:
@@ -1050,8 +2867,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:
@@ -1065,8 +2905,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
@@ -1079,8 +2929,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:
@@ -1089,8 +2949,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:
@@ -1104,8 +2987,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
@@ -1118,8 +3011,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:
@@ -1128,8 +3031,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:
@@ -1143,8 +3069,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
@@ -1157,8 +3093,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:
@@ -1167,8 +3113,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:
@@ -1182,8 +3151,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
@@ -1196,8 +3175,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:
@@ -1206,8 +3195,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:
@@ -1221,8 +3233,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
@@ -1235,8 +3257,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:
@@ -1245,318 +3277,1342 @@ 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:
+          get_param: [EndpointMap, KeystoneInternal, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, KeystoneInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, KeystoneInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, KeystoneInternal, port]
+            - /v2.0/ec2tokens
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, KeystoneInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, KeystoneInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, KeystoneInternal, port]
+      KeystoneInternal:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+        port:
+          get_param: [EndpointMap, KeystoneInternal, port]
+        protocol:
+          get_param: [EndpointMap, KeystoneInternal, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, KeystoneInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, KeystoneInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, KeystoneInternal, port]
+            - /v2.0
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, KeystoneInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, KeystoneInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, KeystoneInternal, port]
+      KeystonePublic:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystonePublic, 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, 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:
+          get_param: [EndpointMap, KeystonePublic, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, KeystonePublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, KeystonePublic, 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, KeystonePublic, port]
+            - /v2.0
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, KeystonePublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, KeystonePublic, 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, KeystonePublic, port]
+      KeystoneV3Admin:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+        port:
+          get_param: [EndpointMap, KeystoneAdmin, port]
+        protocol:
+          get_param: [EndpointMap, KeystoneAdmin, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, KeystoneAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, KeystoneAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, KeystoneAdmin, port]
+            - /v3
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, KeystoneAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, KeystoneAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, KeystoneAdmin, port]
+      KeystoneV3Internal:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystoneInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
         port:
           get_param: [EndpointMap, KeystoneInternal, port]
         protocol:
-          get_param: [EndpointMap, KeystoneInternal, protocol]
+          get_param: [EndpointMap, KeystoneInternal, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, KeystoneInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, KeystoneInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, KeystoneInternal, port]
+            - /v3
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, KeystoneInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, KeystoneInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, KeystoneInternal, port]
+      KeystoneV3Public:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, KeystonePublic, 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, 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:
+          get_param: [EndpointMap, KeystonePublic, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, KeystonePublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, KeystonePublic, 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, KeystonePublic, port]
+            - /v3
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, KeystonePublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, KeystonePublic, 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, KeystonePublic, port]
+      ManilaAdmin:
+        host:
+          str_replace:
+            template:
+              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:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+        port:
+          get_param: [EndpointMap, ManilaAdmin, port]
+        protocol:
+          get_param: [EndpointMap, ManilaAdmin, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, ManilaAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, ManilaAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - 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
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, ManilaAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  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
+            - ':'
+            - get_param: [EndpointMap, ManilaAdmin, port]
+      ManilaInternal:
+        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]
+            - /v2/%(tenant_id)s
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, ManilaInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, ManilaInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - 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:
+        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, KeystoneInternal, protocol]
+          - - get_param: [EndpointMap, ManilaPublic, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, KeystoneInternal, host]
+                  get_param: [EndpointMap, ManilaPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, KeystoneInternal, port]
-            - /v2.0/ec2tokens
+            - get_param: [EndpointMap, ManilaPublic, port]
+            - /v2/%(tenant_id)s
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, KeystoneInternal, protocol]
+          - - get_param: [EndpointMap, ManilaPublic, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, KeystoneInternal, host]
+                  get_param: [EndpointMap, ManilaPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PublicNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PublicNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, KeystoneInternal, port]
-      KeystoneInternal:
+            - get_param: [EndpointMap, ManilaPublic, port]
+      ManilaV1Admin:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, KeystoneInternal, 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: KeystonePublicApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
         port:
-          get_param: [EndpointMap, KeystoneInternal, port]
+          get_param: [EndpointMap, ManilaAdmin, port]
         protocol:
-          get_param: [EndpointMap, KeystoneInternal, protocol]
+          get_param: [EndpointMap, ManilaAdmin, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, KeystoneInternal, protocol]
+          - - get_param: [EndpointMap, ManilaAdmin, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, KeystoneInternal, host]
+                  get_param: [EndpointMap, ManilaAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  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, KeystoneInternal, port]
-            - /v2.0
+            - get_param: [EndpointMap, ManilaAdmin, port]
+            - /v1/%(tenant_id)s
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, KeystoneInternal, protocol]
+          - - get_param: [EndpointMap, ManilaAdmin, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, KeystoneInternal, host]
+                  get_param: [EndpointMap, ManilaAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  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, KeystoneInternal, port]
-      KeystonePublic:
+            - get_param: [EndpointMap, ManilaAdmin, port]
+      ManilaV1Internal:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, KeystonePublic, host]
+              get_param: [EndpointMap, ManilaInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, ManilaApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, ManilaApiNetwork]
         port:
-          get_param: [EndpointMap, KeystonePublic, port]
+          get_param: [EndpointMap, ManilaInternal, port]
         protocol:
-          get_param: [EndpointMap, KeystonePublic, protocol]
+          get_param: [EndpointMap, ManilaInternal, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, KeystonePublic, protocol]
+          - - get_param: [EndpointMap, ManilaInternal, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, KeystonePublic, host]
+                  get_param: [EndpointMap, ManilaInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  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, KeystonePublic, port]
-            - /v2.0
+            - get_param: [EndpointMap, ManilaInternal, port]
+            - /v1/%(tenant_id)s
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, KeystonePublic, protocol]
+          - - get_param: [EndpointMap, ManilaInternal, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, KeystonePublic, host]
+                  get_param: [EndpointMap, ManilaInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  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, KeystonePublic, port]
-      KeystoneV3Admin:
+            - get_param: [EndpointMap, ManilaInternal, port]
+      ManilaV1Public:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, KeystoneAdmin, host]
+              get_param: [EndpointMap, ManilaPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PublicNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, ManilaPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
-          get_param: [EndpointMap, KeystoneAdmin, port]
+          get_param: [EndpointMap, ManilaPublic, port]
         protocol:
-          get_param: [EndpointMap, KeystoneAdmin, protocol]
+          get_param: [EndpointMap, ManilaPublic, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, KeystoneAdmin, protocol]
+          - - get_param: [EndpointMap, ManilaPublic, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, KeystoneAdmin, host]
+                  get_param: [EndpointMap, ManilaPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+                  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, KeystoneAdmin, port]
-            - /v3
+            - get_param: [EndpointMap, ManilaPublic, port]
+            - /v1/%(tenant_id)s
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, KeystoneAdmin, protocol]
+          - - get_param: [EndpointMap, ManilaPublic, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, KeystoneAdmin, host]
+                  get_param: [EndpointMap, ManilaPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+                  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, KeystoneAdmin, port]
-      KeystoneV3Internal:
+            - get_param: [EndpointMap, ManilaPublic, port]
+      MistralAdmin:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, KeystoneInternal, host]
+              get_param: [EndpointMap, MistralAdmin, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, MistralApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, MistralApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, MistralAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, MistralApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, MistralApiNetwork]
         port:
-          get_param: [EndpointMap, KeystoneInternal, port]
+          get_param: [EndpointMap, MistralAdmin, port]
         protocol:
-          get_param: [EndpointMap, KeystoneInternal, protocol]
+          get_param: [EndpointMap, MistralAdmin, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, KeystoneInternal, protocol]
+          - - get_param: [EndpointMap, MistralAdmin, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, KeystoneInternal, host]
+                  get_param: [EndpointMap, MistralAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, MistralApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, MistralApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, KeystoneInternal, port]
-            - /v3
+            - get_param: [EndpointMap, MistralAdmin, port]
+            - /v2
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, KeystoneInternal, protocol]
+          - - get_param: [EndpointMap, MistralAdmin, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, KeystoneInternal, host]
+                  get_param: [EndpointMap, MistralAdmin, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, MistralApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, MistralApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, KeystoneInternal, port]
-      KeystoneV3Public:
+            - get_param: [EndpointMap, MistralAdmin, port]
+      MistralInternal:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, KeystonePublic, host]
+              get_param: [EndpointMap, MistralInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, MistralApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, MistralApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, MistralInternal, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: PublicVirtualIP}
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, MistralApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, MistralApiNetwork]
         port:
-          get_param: [EndpointMap, KeystonePublic, port]
+          get_param: [EndpointMap, MistralInternal, port]
         protocol:
-          get_param: [EndpointMap, KeystonePublic, protocol]
+          get_param: [EndpointMap, MistralInternal, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, KeystonePublic, protocol]
+          - - get_param: [EndpointMap, MistralInternal, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, KeystonePublic, host]
+                  get_param: [EndpointMap, MistralInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, MistralApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, MistralApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, KeystonePublic, port]
-            - /v3
+            - get_param: [EndpointMap, MistralInternal, port]
+            - /v2
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, KeystonePublic, protocol]
+          - - get_param: [EndpointMap, MistralInternal, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, KeystonePublic, host]
+                  get_param: [EndpointMap, MistralInternal, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: PublicVirtualIP}
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, MistralApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, MistralApiNetwork]
+                        template: NETWORK_uri
             - ':'
-            - get_param: [EndpointMap, KeystonePublic, port]
-      MysqlInternal:
+            - get_param: [EndpointMap, MistralInternal, port]
+      MistralPublic:
         host:
           str_replace:
             template:
-              get_param: [EndpointMap, MysqlInternal, host]
+              get_param: [EndpointMap, MistralPublic, host]
             params:
-              CLOUDNAME: {get_param: CloudName}
-              IP_ADDRESS: {get_param: MysqlVirtualIP}
+              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, MistralPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
         port:
-          get_param: [EndpointMap, MysqlInternal, port]
+          get_param: [EndpointMap, MistralPublic, port]
         protocol:
-          get_param: [EndpointMap, MysqlInternal, protocol]
+          get_param: [EndpointMap, MistralPublic, protocol]
         uri:
           list_join:
           - ''
-          - - get_param: [EndpointMap, MysqlInternal, protocol]
+          - - get_param: [EndpointMap, MistralPublic, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, MysqlInternal, host]
+                  get_param: [EndpointMap, MistralPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: MysqlVirtualIP}
+                  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, MysqlInternal, port]
+            - get_param: [EndpointMap, MistralPublic, port]
+            - /v2
         uri_no_suffix:
           list_join:
           - ''
-          - - get_param: [EndpointMap, MysqlInternal, protocol]
+          - - get_param: [EndpointMap, MistralPublic, protocol]
             - ://
             - str_replace:
                 template:
-                  get_param: [EndpointMap, MysqlInternal, host]
+                  get_param: [EndpointMap, MistralPublic, host]
                 params:
-                  CLOUDNAME: {get_param: CloudName}
-                  IP_ADDRESS: {get_param: MysqlVirtualIP}
+                  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, MysqlInternal, port]
-      MysqlNoBracketsInternal:
+            - get_param: [EndpointMap, MistralPublic, 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:
@@ -1570,8 +4626,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:
@@ -1583,8 +4649,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:
@@ -1593,8 +4669,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:
@@ -1608,8 +4707,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:
@@ -1621,8 +4730,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:
@@ -1631,8 +4750,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:
@@ -1646,8 +4788,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:
@@ -1659,8 +4811,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:
@@ -1669,8 +4831,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:
@@ -1684,8 +4869,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
@@ -1698,8 +4893,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:
@@ -1708,8 +4913,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:
@@ -1723,8 +4951,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
@@ -1737,8 +4975,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:
@@ -1747,8 +4995,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:
@@ -1762,8 +5033,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
@@ -1776,8 +5057,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:
@@ -1786,8 +5077,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:
@@ -1801,8 +5115,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:
@@ -1814,8 +5138,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:
@@ -1824,8 +5158,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:
@@ -1839,8 +5196,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:
@@ -1852,8 +5219,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:
@@ -1862,8 +5239,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:
@@ -1877,8 +5277,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:
@@ -1890,18 +5300,294 @@ 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]
+      PankoAdmin:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, PankoAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PankoApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PankoApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, PankoAdmin, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PankoApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PankoApiNetwork]
+        port:
+          get_param: [EndpointMap, PankoAdmin, port]
+        protocol:
+          get_param: [EndpointMap, PankoAdmin, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, PankoAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, PankoAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PankoApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PankoApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, PankoAdmin, port]
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, PankoAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, PankoAdmin, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PankoApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PankoApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, PankoAdmin, port]
+      PankoInternal:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, PankoInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PankoApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - str_replace:
+                    params:
+                      NETWORK:
+                        get_param: [ServiceNetMap, PankoApiNetwork]
+                    template: NETWORK_uri
+        host_nobrackets:
+          str_replace:
+            template:
+              get_param: [EndpointMap, PankoInternal, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PankoApiNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PankoApiNetwork]
+        port:
+          get_param: [EndpointMap, PankoInternal, port]
+        protocol:
+          get_param: [EndpointMap, PankoInternal, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, PankoInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, PankoInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PankoApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PankoApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, PankoInternal, port]
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, PankoInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, PankoInternal, host]
+                params:
+                  CLOUDNAME:
+                    get_param:
+                    - CloudEndpoints
+                    - get_param: [ServiceNetMap, PankoApiNetwork]
+                  IP_ADDRESS:
+                    get_param:
+                    - NetIpMap
+                    - str_replace:
+                        params:
+                          NETWORK:
+                            get_param: [ServiceNetMap, PankoApiNetwork]
+                        template: NETWORK_uri
+            - ':'
+            - get_param: [EndpointMap, PankoInternal, port]
+      PankoPublic:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, PankoPublic, 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, PankoPublic, host]
+            params:
+              CLOUDNAME:
+                get_param:
+                - CloudEndpoints
+                - get_param: [ServiceNetMap, PublicNetwork]
+              IP_ADDRESS:
+                get_param:
+                - NetIpMap
+                - get_param: [ServiceNetMap, PublicNetwork]
+        port:
+          get_param: [EndpointMap, PankoPublic, port]
+        protocol:
+          get_param: [EndpointMap, PankoPublic, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, PankoPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, PankoPublic, 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, PankoPublic, port]
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, PankoPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, PankoPublic, 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, PankoPublic, port]
       SaharaAdmin:
         host:
           str_replace:
             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:
@@ -1915,8 +5601,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
@@ -1929,8 +5625,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:
@@ -1939,8 +5645,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:
@@ -1954,8 +5683,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
@@ -1968,8 +5707,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:
@@ -1978,8 +5727,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:
@@ -1993,8 +5765,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
@@ -2007,8 +5789,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:
@@ -2017,8 +5809,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:
@@ -2032,8 +5847,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:
@@ -2045,8 +5870,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:
@@ -2055,8 +5890,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:
@@ -2070,8 +5928,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
@@ -2084,8 +5952,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:
@@ -2094,8 +5972,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:
@@ -2109,8 +6010,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
@@ -2123,8 +6034,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:
@@ -2133,8 +6054,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:
@@ -2148,8 +6092,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:
@@ -2161,8 +6115,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:
@@ -2171,8 +6135,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:
@@ -2186,8 +6173,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:
@@ -2199,8 +6196,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:
@@ -2209,8 +6216,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:
@@ -2224,8 +6254,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:
@@ -2237,7 +6277,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]