[CORD-2349] Migrating REM-CORD

Change-Id: Iae573428e3bee89026262055263f24a32dd12183
diff --git a/roles/cord-profile/templates/public-net.yaml.j2 b/roles/cord-profile/templates/public-net.yaml.j2
index 7e43e11..610c58b 100644
--- a/roles/cord-profile/templates/public-net.yaml.j2
+++ b/roles/cord-profile/templates/public-net.yaml.j2
@@ -19,8 +19,15 @@
 tosca_definitions_version: tosca_simple_yaml_1_0
 
 imports:
-   - custom_types/xos.yaml
-   - custom_types/addressmanager.yaml
+  - custom_types/addresspool.yaml
+  - custom_types/addressmanagerservice.yaml
+  - custom_types/addressmanagerserviceinstance.yaml
+  - custom_types/network.yaml
+  - custom_types/networktemplate.yaml
+  - custom_types/serviceinstance.yaml
+  - custom_types/serviceinstancelink.yaml
+  - custom_types/site.yaml
+  - custom_types/slice.yaml
 
 description: public network config, generated by platform-install
 
@@ -30,44 +37,81 @@
 # site, fully created in deployment.yaml
     {{ site_name }}:
       type: tosca.nodes.Site
+      properties:
+        name: {{ site_name }}
+        must-exist: true
+
 
 
 # Address Manager service, fully created in cord-service.yaml
     service#addressmanager:
       type: tosca.nodes.AddressManagerService
+      properties:
+        name: addressmanager
+        must-exist: true
 
 # public network
 
     public_template:
       type: tosca.nodes.NetworkTemplate
       properties:
+          name: public_template
           visibility: public
           translation: none
           vtn_kind: PUBLIC
 
     public:
-      type: tosca.nodes.network.Network
+      type: tosca.nodes.Network
       properties:
-          ip_version: 4
+          name: public
+          permit_all_slices: true
+          subnet: 10.8.1.0/24 # NOTE same as AddressPool#addresses_public
+          # ip_version: 4
       requirements:
-          - network_template:
+          - template:
               node: public_template
-              relationship: tosca.relationships.UsesNetworkTemplate
+              relationship: tosca.relationships.BelongsToOne
           - owner:
               node: {{ site_name }}_public
-              relationship: tosca.relationships.MemberOfSlice
-          - addressmanager_service_instance:
-              node: service#addressmanager
-              relationship: tosca.relationships.TenantOfService
+              relationship: tosca.relationships.BelongsToOne
 
+    # Created in cord-services.yaml.j2
+    addresses_public:
+      type: tosca.nodes.AddressPool
+      properties:
+        name: addresses_public
+        must-exist: true
+
+    AddressManagerServiceInstancePublicNetwork:
+      type: tosca.nodes.AddressManagerServiceInstance
+      requirements:
+          - owner:
+              node: service#addressmanager
+              relationship: tosca.relationships.BelongsToOne
+          - address_pool:
+              node: addresses_public
+              relationship: tosca.relationships.BelongsToOne
+      properties:
+          name: AM_public_net
+
+    public_to_address_manager:
+        type: tosca.nodes.ServiceInstanceLink
+        requirements:
+          - provider_service_instance:
+              node: AddressManagerServiceInstancePublicNetwork
+              relationship: tosca.relationships.BelongsToOne
+          - subscriber_network:
+              node: public
+              relationship: tosca.relationships.BelongsToOne
 
     {{ site_name }}_public:
       description: This slice exists solely to own the public network
       type: tosca.nodes.Slice
       properties:
           network: noauto
+          name: {{ site_name }}_public
       requirements:
           - site:
               node: {{ site_name }}
-              relationship: tosca.relationships.MemberOfSite
+              relationship: tosca.relationships.BelongsToOne