From b35d55e3f57630551f0b773674bd1f5c44585ede Mon Sep 17 00:00:00 2001 From: "Singal, Kapil (ks220y)" Date: Thu, 9 Aug 2018 20:47:29 +0000 Subject: 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) --- .../service_template/default_netconf.json | 890 +++++++++++++++++++++ .../service/src/main/resources/sql/data.sql | 0 .../src/main/resources/sql/schema-local.sql | 87 ++ .../service/src/main/resources/sql/schema.sql | 82 ++ 4 files changed, 1059 insertions(+) create mode 100644 ms/controllerblueprints/modules/service/src/main/resources/service_template/default_netconf.json create mode 100644 ms/controllerblueprints/modules/service/src/main/resources/sql/data.sql create mode 100644 ms/controllerblueprints/modules/service/src/main/resources/sql/schema-local.sql create mode 100644 ms/controllerblueprints/modules/service/src/main/resources/sql/schema.sql (limited to 'ms/controllerblueprints/modules/service/src/main/resources') 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 000000000..95c829c4f --- /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": "" + } + }, + "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 000000000..e69de29bb 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 000000000..1ba9c365a --- /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 000000000..b884cf345 --- /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; -- cgit 1.2.3-korg