aboutsummaryrefslogtreecommitdiffstats
path: root/ms/controllerblueprints/modules/service/src/main/resources
diff options
context:
space:
mode:
authorSingal, Kapil (ks220y) <ks220y@att.com>2018-08-09 20:47:29 +0000
committerMuthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>2018-08-10 18:48:54 +0000
commitaa7486577fb66e85a5bb220438946579695b27b8 (patch)
treefe93c4ce0441b82d9b185b5be4e93255cc2cdbac /ms/controllerblueprints/modules/service/src/main/resources
parent3db41eeb5c71efe3153ab5761a7b0ad091a56399 (diff)
Controller Blueprints MS
Creating the base directory structure for Controller Blueprints MicroService Change-Id: I1ccf7fc76446048af3b2822f9155bb634657aee3 Issue-ID: CCSDK-410 Signed-off-by: Singal, Kapil (ks220y) <ks220y@att.com>
Diffstat (limited to 'ms/controllerblueprints/modules/service/src/main/resources')
-rw-r--r--ms/controllerblueprints/modules/service/src/main/resources/service_template/default_netconf.json890
-rw-r--r--ms/controllerblueprints/modules/service/src/main/resources/sql/data.sql0
-rw-r--r--ms/controllerblueprints/modules/service/src/main/resources/sql/schema-local.sql87
-rw-r--r--ms/controllerblueprints/modules/service/src/main/resources/sql/schema.sql82
4 files changed, 1059 insertions, 0 deletions
diff --git a/ms/controllerblueprints/modules/service/src/main/resources/service_template/default_netconf.json b/ms/controllerblueprints/modules/service/src/main/resources/service_template/default_netconf.json
new file mode 100644
index 00000000..95c829c4
--- /dev/null
+++ b/ms/controllerblueprints/modules/service/src/main/resources/service_template/default_netconf.json
@@ -0,0 +1,890 @@
+{
+ "version": "1.0.0",
+ "metadata": {
+ "template_author": "xxxx@onap.com",
+ "template_name": "default_netconf",
+ "template_version": "1.0.0",
+ "service-type": "XXXXXXXXXXX",
+ "vnf-type": "XXXXXXXXX"
+ },
+ "topology_template": {
+ "inputs": {
+ "request-id": {
+ "required": true,
+ "type": "string"
+ },
+ "service-template-name": {
+ "required": true,
+ "type": "string"
+ },
+ "service-template-version": {
+ "required": true,
+ "type": "string"
+ },
+ "action-name": {
+ "required": true,
+ "type": "string"
+ },
+ "service-instance-id": {
+ "required": true,
+ "type": "string"
+ },
+ "resource-type": {
+ "required": true,
+ "type": "string"
+ }
+ },
+ "node_templates": {
+ "base-config-template": {
+ "type": "artifact-config-template",
+ "properties": {
+ "action-names": [
+ "resource-assignment-action"
+ ]
+ },
+ "capabilities": {
+ "content": {
+ "properties": {
+ "content": ""
+ }
+ },
+ "mapping": {
+ "properties": {
+ "mapping": []
+ }
+ }
+ }
+ },
+ "licence-template": {
+ "type": "artifact-config-template",
+ "properties": {
+ "action-names": [
+ "activate-netconf-action"
+ ]
+ },
+ "capabilities": {
+ "content": {
+ "properties": {
+ "content": ""
+ }
+ },
+ "mapping": {
+ "properties": {
+ "mapping": []
+ }
+ }
+ }
+ },
+ "runningconfig-template": {
+ "type": "artifact-config-template",
+ "properties": {
+ "action-names": [
+ "activate-netconf-action"
+ ]
+ },
+ "capabilities": {
+ "content": {
+ "properties": {
+ "content": "<get-config><source><running/></source></get-config>"
+ }
+ },
+ "mapping": {
+ "properties": {
+ "mapping": []
+ }
+ }
+ }
+ },
+ "resource-assignment-action": {
+ "type": "dg-resource-assignment",
+ "interfaces": {
+ "CONFIG": {
+ "operations": {
+ "ResourceAssignment": {
+
+ }
+ }
+ }
+ },
+ "capabilities": {
+ "dg-node": {
+
+ }
+ },
+ "requirements": {
+ "component-dependency": {
+ "capability": "component-node",
+ "node": "get-resource-assignment",
+ "relationship": "tosca.relationships.DependsOn"
+ }
+ }
+ },
+ "activate-netconf-action": {
+ "type": "dg-activate-netconf",
+ "interfaces": {
+ "CONFIG": {
+ "operations": {
+ "ActivateNetconf": {
+
+ }
+ }
+ }
+ },
+ "capabilities": {
+ "dg-node": {
+
+ }
+ },
+ "requirements": {
+ "component-dependency": {
+ "capability": "component-node",
+ "node": "transaction-netconf-baseconfig",
+ "relationship": "tosca.relationships.DependsOn"
+ }
+ }
+ },
+ "resource-assignment": {
+ "type": "component-resource-assignment",
+ "interfaces": {
+ "org-openecomp-sdnc-config-assignment-service-ConfigAssignmentNode": {
+ "operations": {
+ "process": {
+ "inputs": {
+ "resource-type": "vnf-type",
+ "template-names": [
+ "base-config-template",
+ "licence-template"
+ ],
+ "request-id": "{ \"get_attribute\" : \"request-id\" }",
+ "resource-id": "{ \"get_input\" : \"vnf-id\" }"
+ },
+ "outputs": {
+ "resource-assignment-params": "",
+ "status": ""
+ }
+ }
+ }
+ }
+ },
+ "capabilities": {
+ "component-node": {
+
+ }
+ }
+ },
+ "edit-netconf-config": {
+ "type": "component-netconf-edit",
+ "interfaces": {
+ "org-openecomp-sdnc-netconf-adaptor-service-SimpleNetconfEditConfigNode": {
+ "operations": {
+ "process": {
+ "inputs": {
+ "rpc-message": false,
+ "wait": 0,
+ "unlock": false,
+ "config-target": "RUNNING",
+ "commit": true,
+ "edit-default-operation": "repalce",
+ "lock": false,
+ "post-restart-wait": false,
+ "pre-restart-wait": false
+ },
+ "outputs": {
+ "rpc-response-message": "",
+ "status": ""
+ }
+ }
+ }
+ }
+ },
+ "capabilities": {
+ "component-node": {
+
+ }
+ }
+ },
+ "transaction-netconf-baseconfig": {
+ "type": "component-transaction-netconf",
+ "interfaces": {
+ "org-openecomp-sdnc-netconf-adaptor-service-NetconfTransactionNode": {
+ "operations": {
+ "process": {
+ "inputs": {
+ "rollback": false,
+ "transaction-templates": [
+ "runningconfig-template"
+ ],
+ "assignment-action-name": "resource-assignment-action",
+ "transaction-components": [
+ "get-netconf-config"
+ ],
+ "resource-type": "vnf-type",
+ "initialise-sftp": false,
+ "request-id": "{ \"get_input\" : \"request-id\" }",
+ "initialise-ssh": false,
+ "resource-id": "{ \"get_input\" : \"vnf-id\" }",
+ "action-name": "{ \"get_input\" : \"action-name\" }"
+ },
+ "outputs": {
+ "rpc-response-message": "",
+ "status": ""
+ }
+ }
+ }
+ }
+ },
+ "capabilities": {
+ "component-node": {
+
+ }
+ },
+ "requirements": {
+ "netconf-connection": {
+ "capability": "netconf",
+ "node": "vdbe-netconf-device",
+ "relationship": "tosca.relationships.ConnectsTo"
+ }
+ }
+ },
+ "get-netconf-config": {
+ "type": "component-netconf-get",
+ "interfaces": {
+ "org-openecomp-sdnc-netconf-adaptor-service-SimpleNetconfGetConfigNode": {
+ "operations": {
+ "process": {
+ "inputs": {
+ "rpc-message": true,
+ "wait": 1,
+ "message-time-out": 10
+ },
+ "outputs": {
+ "rpc-response-message": "",
+ "status": ""
+ }
+ }
+ }
+ }
+ },
+ "capabilities": {
+ "component-node": {
+
+ }
+ }
+ }
+ }
+ },
+ "node_types": {
+ "vnf-netconf-device": {
+ "description": "This is VNF Device with Netconf and SSH Capability",
+ "version": "1.0.0",
+ "capabilities": {
+ "netconf": {
+ "type": "tosca.capability.Netconf",
+ "properties": {
+ "password": {
+ "required": false,
+ "type": "string"
+ },
+ "user-id": {
+ "required": true,
+ "type": "string"
+ },
+ "host-ip-address": {
+ "required": true,
+ "type": "string"
+ },
+ "port-number": {
+ "required": true,
+ "type": "integer",
+ "default": 830
+ },
+ "message-time-out": {
+ "required": false,
+ "type": "integer",
+ "default": 3000
+ },
+ "connection-time-out": {
+ "required": false,
+ "type": "integer",
+ "default": 30
+ }
+ }
+ },
+ "ssh": {
+ "type": "tosca.capability.Ssh",
+ "properties": {
+ "password": {
+ "required": false,
+ "type": "string"
+ },
+ "user-id": {
+ "required": true,
+ "type": "string"
+ },
+ "host-ip-address": {
+ "required": true,
+ "type": "string"
+ },
+ "port-number": {
+ "required": true,
+ "type": "integer",
+ "default": 22
+ },
+ "message-time-out": {
+ "required": false,
+ "type": "integer",
+ "default": 180
+ },
+ "connection-time-out": {
+ "required": false,
+ "type": "integer",
+ "default": 30
+ }
+ }
+ },
+ "sftp": {
+ "type": "tosca.capability.Sftp",
+ "properties": {
+ "password": {
+ "required": false,
+ "type": "string"
+ },
+ "user-id": {
+ "required": true,
+ "type": "string"
+ },
+ "host-ip-address": {
+ "required": true,
+ "type": "string"
+ },
+ "port-number": {
+ "required": true,
+ "type": "integer",
+ "default": 22
+ },
+ "message-time-out": {
+ "required": false,
+ "type": "integer",
+ "default": 180
+ },
+ "connection-time-out": {
+ "required": false,
+ "type": "integer",
+ "default": 30
+ }
+ }
+ }
+ },
+ "derived_from": "tosca.nodes.Vnf"
+ },
+ "dg-resource-assignment": {
+ "description": "This is Resource Assignment Directed Graph",
+ "version": "1.0.0",
+ "properties": {
+ "mode": {
+ "required": false,
+ "type": "string",
+ "default": "sync"
+ },
+ "version": {
+ "required": false,
+ "type": "string",
+ "default": "LATEST"
+ },
+ "is-start-flow": {
+ "required": false,
+ "type": "boolean",
+ "default": "false"
+ }
+ },
+ "capabilities": {
+ "dg-node": {
+ "type": "tosca.capabilities.Node"
+ },
+ "content": {
+ "type": "tosca.capability.Content",
+ "properties": {
+ "type": {
+ "required": false,
+ "type": "string",
+ "default": "json"
+ },
+ "content": {
+ "required": true,
+ "type": "string"
+ }
+ }
+ }
+ },
+ "requirements": {
+ "component-dependency": {
+ "capability": "component-node",
+ "node": "component-resource-assignment",
+ "relationship": "tosca.relationships.DependsOn"
+ }
+ },
+ "interfaces": {
+ "CONFIG": {
+ "operations": {
+ "ResourceAssignment": {
+ "inputs": {
+ "params": {
+ "required": false,
+ "type": "list",
+ "entry_schema": {
+ "type": "datatype-property"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "derived_from": "tosca.nodes.DG"
+ },
+ "dg-activate-netconf": {
+ "description": "This is Download Netconf Directed Graph",
+ "version": "1.0.0",
+ "properties": {
+ "mode": {
+ "required": false,
+ "type": "string",
+ "default": "sync"
+ },
+ "version": {
+ "required": false,
+ "type": "string",
+ "default": "LATEST"
+ },
+ "is-start-flow": {
+ "required": false,
+ "type": "boolean",
+ "default": "false"
+ }
+ },
+ "capabilities": {
+ "dg-node": {
+ "type": "tosca.capabilities.Node"
+ },
+ "content": {
+ "type": "tosca.capability.Content",
+ "properties": {
+ "type": {
+ "required": false,
+ "type": "string",
+ "default": "json"
+ },
+ "content": {
+ "required": true,
+ "type": "string"
+ }
+ }
+ }
+ },
+ "requirements": {
+ "component-dependency": {
+ "capability": "component-node",
+ "node": "component-transaction-netconf",
+ "relationship": "tosca.relationships.DependsOn"
+ }
+ },
+ "interfaces": {
+ "CONFIG": {
+ "operations": {
+ "ActivateNetconf": {
+ "inputs": {
+ "params": {
+ "required": false,
+ "type": "list",
+ "entry_schema": {
+ "type": "datatype-property"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "derived_from": "tosca.nodes.DG"
+ },
+ "artifact-config-template": {
+ "description": "This is Configuration Velocity Template",
+ "version": "1.0.0",
+ "properties": {
+ "action-names": {
+ "required": true,
+ "type": "list",
+ "entry_schema": {
+ "type": "string"
+ }
+ }
+ },
+ "capabilities": {
+ "content": {
+ "type": "tosca.capability.Content",
+ "properties": {
+ "content": {
+ "required": true,
+ "type": "string"
+ }
+ }
+ },
+ "mapping": {
+ "type": "tosca.capability.Mapping",
+ "properties": {
+ "mapping": {
+ "required": false,
+ "type": "list",
+ "entry_schema": {
+ "type": "datatype-resource-assignment"
+ }
+ }
+ }
+ }
+ },
+ "derived_from": "tosca.nodes.Artifact"
+ },
+ "component-resource-assignment": {
+ "description": "This is Resource Assignment Component API",
+ "version": "1.0.0",
+ "capabilities": {
+ "component-node": {
+ "type": "tosca.capabilities.Node"
+ }
+ },
+ "interfaces": {
+ "org-openecomp-sdnc-config-assignment-service-ConfigAssignmentNode": {
+ "operations": {
+ "process": {
+ "inputs": {
+ "handler-name": {
+ "description": "Name of the Artifact Node Template, to get the template Content. If template-content is present, then content wont be reterived from the Artifact Node Template.",
+ "required": true,
+ "type": "string"
+ },
+ "resource-type": {
+ "required": false,
+ "type": "string"
+ },
+ "template-names": {
+ "description": "Name of the Artifact Node Templates, to get the template Content.",
+ "required": true,
+ "type": "list",
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "request-id": {
+ "description": "Request Id used to store the generated configuration, in the database along with the template-name",
+ "required": true,
+ "type": "string"
+ },
+ "resource-id": {
+ "description": "Id used to pull the data content from the data base. Either template-data or resource-id should be present",
+ "required": true,
+ "type": "string"
+ },
+ "action-name": {
+ "description": "Action Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",
+ "required": false,
+ "type": "string"
+ }
+ },
+ "outputs": {
+ "resource-assignment-params": {
+ "required": true,
+ "type": "string"
+ },
+ "status": {
+ "required": true,
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "derived_from": "tosca.nodes.Component"
+ },
+ "component-netconf-get": {
+ "description": "This is Netconf Get Running Configuration Component API",
+ "version": "1.0.0",
+ "capabilities": {
+ "component-node": {
+ "type": "tosca.capabilities.Node"
+ }
+ },
+ "interfaces": {
+ "org-openecomp-sdnc-netconf-adaptor-service-SimpleNetconfGetConfigNode": {
+ "operations": {
+ "process": {
+ "inputs": {
+ "rpc-message": {
+ "description": "It should be true, If the message is Neconf RPC message, It should be false If it is plain Config message.",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ },
+ "wait": {
+ "required": false,
+ "type": "integer",
+ "default": 0
+ },
+ "message-time-out": {
+ "required": false,
+ "type": "integer",
+ "default": 30
+ }
+ },
+ "outputs": {
+ "config-message": {
+ "type": "string"
+ },
+ "status": {
+ "description": "Status of the Component Execution ( success or failure )",
+ "required": true,
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "derived_from": "tosca.nodes.Component"
+ },
+ "component-netconf-edit": {
+ "description": "This is Netconf Edit Configuration Component API",
+ "version": "1.0.0",
+ "capabilities": {
+ "component-node": {
+ "type": "tosca.capabilities.Node"
+ }
+ },
+ "interfaces": {
+ "org-openecomp-sdnc-netconf-adaptor-service-SimpleNetconfEditConfigNode": {
+ "operations": {
+ "process": {
+ "inputs": {
+ "rpc-message": {
+ "description": "If the message is Neconf RPC message,It should be true or false.",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ },
+ "wait": {
+ "description": "Delay time in sec before performing edit-config action.",
+ "required": false,
+ "type": "integer",
+ "default": 0
+ },
+ "unlock": {
+ "description": "If unLock command has to send before Edit Configuration.",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ },
+ "config-target": {
+ "required": false,
+ "type": "string"
+ },
+ "commit": {
+ "description": "Issue commit command to the device after performing edit-config action.",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ },
+ "edit-default-operation": {
+ "required": false,
+ "type": "string"
+ },
+ "lock": {
+ "description": "Issue lock command to the device before performing edit-config action.",
+ "required": false,
+ "type": "boolean",
+ "default": false
+ },
+ "post-restart-wait": {
+ "description": "If Restart command should be issued before the Edit Operation, Provide the time to wait after restart. 0 meanno restart required or wait time in sec ex : 3000 for 5 ",
+ "required": false,
+ "type": "integer",
+ "default": 0
+ },
+ "pre-restart-wait": {
+ "description": "If Restart command should be issued after the Edit Operation, Provide the time to wait after restart. 0 meanno restart required or wait time in sec ex : 3000 for 5 ",
+ "required": false,
+ "type": "integer",
+ "default": 0
+ },
+ "message-time-out": {
+ "required": false,
+ "type": "integer",
+ "default": 30
+ }
+ },
+ "outputs": {
+ "rpc-response-message": {
+ "type": "string"
+ },
+ "status": {
+ "description": "Status of the Component Execution ( success or failure )",
+ "required": true,
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "derived_from": "tosca.nodes.Component"
+ },
+ "component-transaction-netconf": {
+ "description": "This is Netconf Transaction Configuration Component API",
+ "version": "1.0.0",
+ "capabilities": {
+ "component-node": {
+ "type": "tosca.capabilities.Node"
+ }
+ },
+ "requirements": {
+ "netconf-connection": {
+ "capability": "netconf",
+ "node": "vnf-netconf-device",
+ "relationship": "tosca.relationships.ConnectsTo"
+ }
+ },
+ "interfaces": {
+ "org-openecomp-sdnc-netconf-adaptor-service-NetconfTransactionNode": {
+ "operations": {
+ "process": {
+ "inputs": {
+ "rollback": {
+ "required": false,
+ "type": "boolean"
+ },
+ "transaction-templates": {
+ "description": "Templates used by the Transaction Components during processing",
+ "required": true,
+ "type": "list",
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "assignment-action-name": {
+ "description": "Assignment Action Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",
+ "required": true,
+ "type": "string"
+ },
+ "transaction-components": {
+ "description": "Components used to used for the atomic transaction, Default Handlers are org.openecomp.sdnc.netconf.adaptor.service.SimpleNetconfEditConfigNode and org.openecomp.sdnc.netconf.adaptor.service.SimpleNetconfGetConfigNode",
+ "required": true,
+ "type": "list",
+ "entry_schema": {
+ "type": "string"
+ }
+ },
+ "resource-type": {
+ "description": "Resource Type to get from Database, Either (message & mask-info ) or( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",
+ "required": false,
+ "type": "string"
+ },
+ "initialise-sftp": {
+ "required": false,
+ "type": "boolean"
+ },
+ "request-id": {
+ "description": "Request Id used to store the generated configuration, in the database along with the template-name",
+ "required": true,
+ "type": "string"
+ },
+ "initialise-ssh": {
+ "required": false,
+ "type": "boolean"
+ },
+ "resource-id": {
+ "description": "Resource Id to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",
+ "required": false,
+ "type": "string"
+ },
+ "action-name": {
+ "description": "Action Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",
+ "required": false,
+ "type": "string"
+ }
+ },
+ "outputs": {
+ "rpc-response-message": {
+ "type": "string"
+ },
+ "status": {
+ "description": "Status of the Component Execution ( success or failure )",
+ "required": true,
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "derived_from": "tosca.nodes.Component"
+ }
+ },
+ "data_types": {
+ "datatype-resource-assignment": {
+ "version": "1.0.0",
+ "description": "This is Resource Assignment Data Type",
+ "properties": {
+ "property": {
+ "required": true,
+ "type": "datatype-property"
+ },
+ "input-param": {
+ "required": true,
+ "type": "boolean"
+ },
+ "dictionary-name": {
+ "required": false,
+ "type": "string"
+ },
+ "dictionary-source": {
+ "required": false,
+ "type": "string"
+ },
+ "dependencies": {
+ "required": true,
+ "type": "list",
+ "entry_schema": {
+ "type": "string"
+ }
+ }
+ },
+ "derived_from": "tosca.datatypes.Root"
+ },
+ "datatype-property": {
+ "version": "1.0.0",
+ "description": "This is Entry point Input Data Type, which is dynamic datatype, The parameter names will be populated during the Design time for each inputs",
+ "properties": {
+ "type": {
+ "required": true,
+ "type": "string"
+ },
+ "description": {
+ "required": false,
+ "type": "string"
+ },
+ "required": {
+ "required": false,
+ "type": "boolean"
+ },
+ "default": {
+ "required": false,
+ "type": "string"
+ },
+ "entry_schema": {
+ "required": false,
+ "type": "string"
+ }
+ },
+ "derived_from": "tosca.datatypes.Root"
+ }
+ }
+} \ No newline at end of file
diff --git a/ms/controllerblueprints/modules/service/src/main/resources/sql/data.sql b/ms/controllerblueprints/modules/service/src/main/resources/sql/data.sql
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/ms/controllerblueprints/modules/service/src/main/resources/sql/data.sql
diff --git a/ms/controllerblueprints/modules/service/src/main/resources/sql/schema-local.sql b/ms/controllerblueprints/modules/service/src/main/resources/sql/schema-local.sql
new file mode 100644
index 00000000..1ba9c365
--- /dev/null
+++ b/ms/controllerblueprints/modules/service/src/main/resources/sql/schema-local.sql
@@ -0,0 +1,87 @@
+-- drop table sdnctl.MODEL_TYPE;
+-- drop table sdnctl.RESOURCE_DICTIONARY;
+-- drop table sdnctl.CONFIG_MODEL_CONTENT;
+-- drop table sdnctl.CONFIG_MODEL;
+
+-- -----------------------------------------------------
+-- table CONFIG_MODEL
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS sdnctl.CONFIG_MODEL (
+ config_model_id INT(11) NOT NULL AUTO_INCREMENT,
+ service_uuid VARCHAR(50) NULL DEFAULT NULL,
+ distribution_id VARCHAR(50) NULL DEFAULT NULL,
+ service_name VARCHAR(255) NULL DEFAULT NULL,
+ service_description VARCHAR(255) NULL DEFAULT NULL,
+ resource_uuid VARCHAR(255) NULL DEFAULT NULL,
+ resource_instance_name VARCHAR(255) NULL DEFAULT NULL,
+ resource_name varchar(255) null default null,
+ resource_version varchar(50) null default null,
+ resource_type varchar(50) null default null,
+ artifact_uuid varchar(50) null default null,
+ artifact_type varchar(50) not null,
+ artifact_version varchar(25) not null,
+ artifact_description longtext null default null,
+ internal_version int(11) null default null,
+ creation_date datetime not null default current_timestamp,
+ artifact_name varchar(100) not null,
+ published varchar(1) not null,
+ updated_by varchar(100) not null,
+ tags longtext null default null,
+ primary key PK_CONFIG_MODEL (config_model_id),
+ UNIQUE KEY UK_CONFIG_MODEL (artifact_name , artifact_version)
+) ENGINE=InnoDB;
+
+
+-- -----------------------------------------------------
+-- table CONFIG_MODEL_CONTENT
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS sdnctl.CONFIG_MODEL_CONTENT (
+ config_model_content_id INT(11) NOT NULL AUTO_INCREMENT,
+ config_model_id INT NOT NULL,
+ name VARCHAR(100) NOT NULL,
+ content_type VARCHAR(50) NOT NULL,
+ description LONGTEXT NULL DEFAULT NULL,
+ updated_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ content LONGTEXT NULL DEFAULT NULL,
+ PRIMARY KEY PK_CONFIG_MODEL_CONTENT (config_model_content_id),
+ UNIQUE KEY UK_CONFIG_MODEL_CONTENT (config_model_id, name, content_type),
+ FOREIGN KEY FK_CONFIG_MODEL_CONTENT (config_model_id) REFERENCES sdnctl.CONFIG_MODEL(config_model_id) ON DELETE CASCADE
+) ENGINE=InnoDB;
+
+-- -----------------------------------------------------
+-- table MODEL_TYPE
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS sdnctl.MODEL_TYPE (
+ model_name VARCHAR(100) NOT NULL,
+ derived_from VARCHAR(100) NOT NULL,
+ definition_type VARCHAR(100) NOT NULL,
+ definition LONGTEXT NOT NULL,
+ version VARCHAR(10) NOT NULL,
+ description LONGTEXT NOT NULL,
+ tags LONGTEXT NULL DEFAULT NULL,
+ creation_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ updated_by VARCHAR(100) NOT NULL,
+ PRIMARY KEY PK_MODEL_TYPE (model_name),
+ INDEX IX_MODEL_TYPE (model_name)
+) ENGINE=InnoDB;
+
+
+-- -----------------------------------------------------
+-- table RESOURCE_DICTIONARY
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS sdnctl.RESOURCE_DICTIONARY (
+ name VARCHAR(100) NOT NULL,
+ resource_path VARCHAR(500) NOT NULL,
+ resource_type VARCHAR(100) NOT NULL,
+ data_type VARCHAR(100) NOT NULL,
+ entry_schema VARCHAR(100) NULL DEFAULT NULL,
+ valid_values LONGTEXT NULL DEFAULT NULL,
+ sample_value LONGTEXT NULL DEFAULT NULL,
+ definition LONGTEXT NOT NULL,
+ description LONGTEXT NOT NULL,
+ tags LONGTEXT NOT NULL,
+ creation_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ updated_by VARCHAR(100) NOT NULL,
+ primary key PK_RESOURCE_DICTIONARY (name),
+ INDEX IX_RESOURCE_DICTIONARY (name)
+) ENGINE=InnoDB; \ No newline at end of file
diff --git a/ms/controllerblueprints/modules/service/src/main/resources/sql/schema.sql b/ms/controllerblueprints/modules/service/src/main/resources/sql/schema.sql
new file mode 100644
index 00000000..b884cf34
--- /dev/null
+++ b/ms/controllerblueprints/modules/service/src/main/resources/sql/schema.sql
@@ -0,0 +1,82 @@
+-- -----------------------------------------------------
+-- table CONFIG_MODEL
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS configurator.CONFIG_MODEL (
+ config_model_id INT(11) NOT NULL AUTO_INCREMENT,
+ service_uuid VARCHAR(50) NULL DEFAULT NULL,
+ distribution_id VARCHAR(50) NULL DEFAULT NULL,
+ service_name VARCHAR(255) NULL DEFAULT NULL,
+ service_description VARCHAR(255) NULL DEFAULT NULL,
+ resource_uuid VARCHAR(255) NULL DEFAULT NULL,
+ resource_instance_name VARCHAR(255) NULL DEFAULT NULL,
+ resource_name varchar(255) null default null,
+ resource_version varchar(50) null default null,
+ resource_type varchar(50) null default null,
+ artifact_uuid varchar(50) null default null,
+ artifact_type varchar(50) not null,
+ artifact_version varchar(25) not null,
+ artifact_description longtext null default null,
+ internal_version int(11) null default null,
+ creation_date datetime not null default current_timestamp,
+ artifact_name varchar(100) not null,
+ published varchar(1) not null,
+ updated_by varchar(100) not null,
+ tags longtext null default null,
+ primary key PK_CONFIG_MODEL (config_model_id),
+ UNIQUE KEY UK_CONFIG_MODEL (artifact_name , artifact_version)
+) ENGINE=InnoDB;
+
+
+-- -----------------------------------------------------
+-- table CONFIG_MODEL_CONTENT
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS configurator.CONFIG_MODEL_CONTENT (
+ config_model_content_id INT(11) NOT NULL AUTO_INCREMENT,
+ config_model_id INT NOT NULL,
+ name VARCHAR(100) NOT NULL,
+ content_type VARCHAR(50) NOT NULL,
+ description LONGTEXT NULL DEFAULT NULL,
+ updated_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ content LONGTEXT NULL DEFAULT NULL,
+ PRIMARY KEY PK_CONFIG_MODEL_CONTENT (config_model_content_id),
+ UNIQUE KEY UK_CONFIG_MODEL_CONTENT (config_model_id, name, content_type),
+ FOREIGN KEY FK_CONFIG_MODEL_CONTENT (config_model_id) REFERENCES configurator.CONFIG_MODEL(config_model_id) ON DELETE CASCADE
+) ENGINE=InnoDB;
+
+-- -----------------------------------------------------
+-- table MODEL_TYPE
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS configurator.MODEL_TYPE (
+ model_name VARCHAR(100) NOT NULL,
+ derived_from VARCHAR(100) NOT NULL,
+ definition_type VARCHAR(100) NOT NULL,
+ definition LONGTEXT NOT NULL,
+ version VARCHAR(10) NOT NULL,
+ description LONGTEXT NOT NULL,
+ tags LONGTEXT NULL DEFAULT NULL,
+ creation_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ updated_by VARCHAR(100) NOT NULL,
+ PRIMARY KEY PK_MODEL_TYPE (model_name),
+ INDEX IX_MODEL_TYPE (model_name)
+) ENGINE=InnoDB;
+
+
+-- -----------------------------------------------------
+-- table RESOURCE_DICTIONARY
+-- -----------------------------------------------------
+CREATE TABLE IF NOT EXISTS configurator.RESOURCE_DICTIONARY (
+ name VARCHAR(100) NOT NULL,
+ resource_path VARCHAR(500) NOT NULL,
+ resource_type VARCHAR(100) NOT NULL,
+ data_type VARCHAR(100) NOT NULL,
+ entry_schema VARCHAR(100) NULL DEFAULT NULL,
+ valid_values LONGTEXT NULL DEFAULT NULL,
+ sample_value LONGTEXT NULL DEFAULT NULL,
+ definition LONGTEXT NOT NULL,
+ description LONGTEXT NOT NULL,
+ tags LONGTEXT NOT NULL,
+ creation_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ updated_by VARCHAR(100) NOT NULL,
+ primary key PK_RESOURCE_DICTIONARY (name),
+ INDEX IX_RESOURCE_DICTIONARY (name)
+) ENGINE=InnoDB;