[vFW CNF CDS] vf_module and vnf name generation improvment in CBA
[demo.git] / heat / vFW_CNF_CDS / templates / cba / Definitions / resources_definition_types.json
index 9fe3956..64925d4 100644 (file)
         "tags": "vf-module-id",
         "updated-by": "Singal, Kapil <ks220y@att.com>"
     },
+    "vf-module-name": {
+        "tags": "vf-module-name",
+        "name": "vf-module-name",
+        "property": {
+            "description": "vf-module-name",
+            "type": "string"
+        },
+        "group": "default",
+        "updated-by": "Singal, Kapil <ks220y@att.com>",
+        "sources": {
+            "input": {
+                "type": "source-input"
+            },
+            "default": {
+                "type": "source-default",
+                "properties": {}
+            },
+            "sdnc": {
+                "type": "source-rest",
+                "properties": {
+                    "verb": "GET",
+                    "type": "JSON",
+                    "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vf-modules/vf-module/$vf_module_id/vf-module-data/vf-module-topology/vf-module-parameters/param/vf-module-name",
+                    "path": "/param/0/value",
+                    "input-key-mapping": {
+                        "service-instance-id": "service-instance-id",
+                        "vnf-id": "vnf-id"
+                    },
+                    "output-key-mapping": {
+                        "vf-module-name": "value"
+                    },
+                    "key-dependencies": [
+                        "service-instance-id",
+                        "vnf-id",
+                        "vf_module_id"
+                    ]
+                }
+            },
+            "rest": {
+                "type": "source-rest",
+                "properties": {
+                    "endpoint-selector": "naming-resolution",
+                    "verb": "POST",
+                    "type": "JSON",
+                    "headers": {
+                        "Accept": "application/json",
+                        "Content-Type": "application/json"
+                    },
+                    "url-path": "/v1/genNetworkElementName",
+                    "payload": "{\r\n  \"elements\": [\r\n    {\r\n      \"resource-name\": \"vf-module-name\",\r\n      \"resource-value\": \"${vf-module-name}\",\r\n      \"external-key\": \"${vf-module-id}\",\r\n      \"policy-instance-name\": \"${vf-naming-policy}\",\r\n      \"naming-type\": \"VF-MODULE\",\r\n      \"VNF_NAME\": \"${vnf_name}\",\r\n      \"VF_MODULE_LABEL\":\"${vf-module-label}\",\r\n      \"VF_MODULE_TYPE\":\"vfmt\"\r\n    }\r\n  ]\r\n}",
+                    "path": "/elements/0/resource-value",
+                    "input-key-mapping": {
+                        "vf-naming-policy": "vf-naming-policy",
+                        "vnf_name": "vnf_name",
+                        "vf-module-label": "vf-module-label",
+                        "vf-module-id": "vf-module-id"
+                    },
+                    "output-key-mapping": {
+                        "vf-module-name": "resource-value"
+                    },
+                    "key-dependencies": [
+                        "vf-naming-policy",
+                        "vnf_name",
+                        "vf-module-label",
+                        "vf-module-id"
+                    ]
+                }
+            }
+        }
+    },
+    "vf-module-type": {
+        "tags": "vf-module-type",
+        "name": "vf-module-type",
+        "property": {
+            "description": "vf-module-type",
+            "type": "string"
+        },
+        "group": "default",
+        "updated-by": "MALAKOV, YURIY <yuriy.malakov@att.com>",
+        "sources": {
+            "input": {
+                "type": "source-input"
+            },
+            "default": {
+                "type": "source-default",
+                "properties": {}
+            },
+            "processor-db": {
+                "type": "source-db",
+                "properties": {
+                    "type": "SQL",
+                    "query": "select vf_module_type as vf_module_type from sdnctl.VF_MODULE_MODEL where customization_uuid=:customizationid",
+                    "output-key-mapping": {
+                        "vf-module-type": "vf_module_type"
+                    },
+                    "input-key-mapping": {
+                        "customizationid": "vf-module-model-customization-uuid"
+                    },
+                    "key-dependencies": [
+                        "vf-module-model-customization-uuid"
+                    ]
+                }
+            }
+        }
+    },
     "vf-module-label": {
         "group": "default",
         "name": "vf-module-label",
         "updated-by": "MALAKOV, YURIY <yuriy.malakov@att.com>"
     },
     "vnf_name": {
-        "group": "default",
+        "tags": "vnf_name",
         "name": "vnf_name",
         "property": {
             "description": "vnf_name",
             "type": "string"
         },
+        "group": "default",
+        "updated-by": "MALAKOV, YURIY <yuriy.malakov@att.com>",
         "sources": {
-            "default": {
-                "properties": {},
-                "type": "source-default"
-            },
             "input": {
                 "type": "source-input"
             },
+            "default": {
+                "type": "source-default",
+                "properties": {}
+            },
             "sdnc": {
+                "type": "source-rest",
                 "properties": {
+                    "verb": "GET",
+                    "type": "JSON",
+                    "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/vnf_name",
+                    "path": "/param/0/value",
+                    "headers": {
+                        "Accept": "application/json",
+                        "Content-Type": "application/json"
+                    },
                     "input-key-mapping": {
                         "service-instance-id": "service-instance-id",
                         "vnf-id": "vnf-id"
                     },
+                    "output-key-mapping": {
+                        "vnf_name": "value"
+                    },
                     "key-dependencies": [
                         "service-instance-id",
                         "vnf-id"
-                    ],
+                    ]
+                }
+            },
+            "rest": {
+                "type": "source-rest",
+                "properties": {
+                    "endpoint-selector": "naming-resolution",
+                    "verb": "POST",
+                    "type": "JSON",
+                    "headers": {
+                        "Accept": "application/json",
+                        "Content-Type": "application/json"
+                    },
+                    "url-path": "/v1/genNetworkElementName",
+                    "payload": "{\r\n  \"elements\": [\r\n    {\r\n      \"resource-name\": \"vnf_name\",\r\n      \"resource-value\": \"${vnf_name}\",\r\n      \"external-key\": \"${vnf-id}\",\r\n      \"policy-instance-name\": \"${vf-naming-policy}\",\r\n      \"naming-type\": \"VNF\",\r\n      \"AIC_CLOUD_REGION\": \"${aic-cloud-region}\"\r\n    }\r\n  ]\r\n}",
+                    "path": "/elements/0/resource-value",
+                    "input-key-mapping": {
+                        "vnf-id": "vnf-id",
+                        "aic-cloud-region": "aic-cloud-region",
+                        "vf-naming-policy": "vf-naming-policy"
+                    },
                     "output-key-mapping": {
-                        "vnf_name": "value"
+                        "vnf_name": "resource-value"
                     },
-                    "path": "/param/0/value",
-                    "type": "JSON",
-                    "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/vnf_name",
-                    "verb": "GET"
-                },
-                "type": "source-rest"
+                    "key-dependencies": [
+                        "vnf-id",
+                        "aic-cloud-region",
+                        "vf-naming-policy"
+                    ]
+                }
             }
-        },
-        "tags": "vnf_name",
-        "updated-by": "MALAKOV, YURIY <yuriy.malakov@att.com>"
+        }
     },
     "vpg-management-port": {
         "group": "default",