+/* Copyright © 2017 AT&T, Amdocs, Bell Canada
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
#
# CLDS stored procedures
#
DROP PROCEDURE IF EXISTS get_model_template;
DROP PROCEDURE IF EXISTS set_template;
DROP PROCEDURE IF EXISTS get_template;
+DROP PROCEDURE IF EXISTS del_model;
+DROP PROCEDURE IF EXISTS set_new_tosca_model_version;
+DROP PROCEDURE IF EXISTS set_tosca_model;
+DROP PROCEDURE IF EXISTS set_dictionary;
+DROP PROCEDURE IF EXISTS set_dictionary_elements;
DELIMITER //
CREATE PROCEDURE get_template
(IN v_template_name VARCHAR(80),
OUT v_model_id VARCHAR(36),
OUT v_service_type_id VARCHAR(80),
OUT v_deployment_id VARCHAR(80),
+ OUT v_deployment_status_url VARCHAR(300),
OUT v_template_name VARCHAR(80),
OUT v_template_id VARCHAR(36),
OUT v_model_prop_id VARCHAR(36),
m.model_id,
m.service_type_id,
m.deployment_id,
+ m.deployment_status_url,
t.template_name,
m.template_id,
mp.model_prop_id,
v_model_id,
v_service_type_id,
v_deployment_id,
+ v_deployment_status_url,
v_template_name,
v_template_id,
v_model_prop_id,
OUT v_model_id VARCHAR(36),
OUT v_service_type_id VARCHAR(80),
OUT v_deployment_id VARCHAR(80),
+ OUT v_deployment_status_url VARCHAR(300),
OUT v_template_name VARCHAR(80),
OUT v_template_id VARCHAR(36),
OUT v_model_prop_id VARCHAR(36),
v_model_id,
v_service_type_id,
v_deployment_id,
+ v_deployment_status_url,
v_template_name,
v_template_id,
v_model_prop_id,
IN v_model_blueprint_text MEDIUMTEXT,
IN v_service_type_id VARCHAR(80),
IN v_deployment_id VARCHAR(80),
+ IN v_deployment_status_url VARCHAR(300),
INOUT v_control_name_prefix VARCHAR(80),
INOUT v_control_name_uuid VARCHAR(36),
OUT v_model_id VARCHAR(36),
DECLARE v_old_model_blueprint_text MEDIUMTEXT;
DECLARE v_old_service_type_id VARCHAR(80);
DECLARE v_old_deployment_id VARCHAR(80);
+ DECLARE v_old_deployment_status_url VARCHAR(300);
SET v_model_id = NULL;
CALL get_model(
v_model_name,
v_model_id,
v_old_service_type_id,
v_old_deployment_id,
+ v_old_deployment_status_url,
v_old_template_name,
v_old_template_id,
v_model_prop_id,
END IF;
SET v_model_id = v_control_name_uuid;
INSERT INTO model
- (model_id, model_name, template_id, control_name_prefix, control_name_uuid, service_type_id, deployment_id)
- VALUES (v_model_id, v_model_name, v_template_id, v_control_name_prefix, v_control_name_uuid, v_service_type_id, v_deployment_id);
+ (model_id, model_name, template_id, control_name_prefix, control_name_uuid, service_type_id, deployment_id, deployment_status_url)
+ VALUES (v_model_id, v_model_name, v_template_id, v_control_name_prefix, v_control_name_uuid, v_service_type_id, v_deployment_id,v_deployment_status_url);
# since just created model, insert CREATED event as initial default event
SET v_action_cd = 'CREATE';
SET v_action_state_cd = 'COMPLETED';
model_prop_id = v_model_prop_id,
model_blueprint_id = v_model_blueprint_id,
service_type_id = v_service_type_id,
- deployment_id = v_deployment_id
+ deployment_id = v_deployment_id,
+ deployment_status_url = v_deployment_status_url
WHERE model_id = v_model_id;
END;
CREATE PROCEDURE ins_model_instance
UPDATE event
SET process_instance_id = v_process_instance_id
WHERE event_id = v_event_id;
-END
+END;
+CREATE PROCEDURE del_model
+(IN v_model_name VARCHAR(80))
+BEGIN
+ DECLARE v_model_id VARCHAR(36);
+ SELECT model_id INTO v_model_id from model where model_name = v_model_name;
+ UPDATE model set event_id = null, model_blueprint_id = null, model_prop_id = null where model_id = v_model_id;
+ DELETE from event where model_id = v_model_id;
+ DELETE from model_blueprint where model_id = v_model_id;
+ DELETE from model_properties where model_id = v_model_id;
+ DELETE from model where model_id = v_model_id;
+END;
+
+CREATE PROCEDURE set_new_tosca_model_version
+ (IN v_tosca_model_id VARCHAR(36),
+ IN v_version DOUBLE,
+ IN v_tosca_model_yaml MEDIUMTEXT,
+ IN v_tosca_model_json MEDIUMTEXT,
+ IN v_user_id VARCHAR(80),
+ OUT v_revision_id VARCHAR(36))
+BEGIN
+ SET v_revision_id = UUID();
+ INSERT INTO tosca_model_revision
+ (tosca_model_revision_id, tosca_model_id, version, tosca_model_yaml, tosca_model_json, user_id)
+ VALUES (v_revision_id, v_tosca_model_id, v_version, v_tosca_model_yaml, v_tosca_model_json, v_user_id);
+END;
+
+CREATE PROCEDURE set_tosca_model
+ (IN v_tosca_model_name VARCHAR(80),
+ IN v_policy_type VARCHAR(80),
+ IN v_user_id VARCHAR(80),
+ IN v_tosca_model_yaml MEDIUMTEXT,
+ IN v_tosca_model_json MEDIUMTEXT,
+ IN v_version DOUBLE,
+ OUT v_tosca_model_id VARCHAR(36),
+ OUT v_revision_id VARCHAR(36))
+BEGIN
+ SET v_tosca_model_id = UUID();
+ INSERT INTO tosca_model
+ (tosca_model_id, tosca_model_name, policy_type, user_id)
+ VALUES (v_tosca_model_id, v_tosca_model_name, v_policy_type, v_user_id);
+ SET v_revision_id = UUID();
+ INSERT INTO tosca_model_revision
+ (tosca_model_revision_id, tosca_model_id, version, tosca_model_yaml, tosca_model_json, user_id)
+ VALUES (v_revision_id, v_tosca_model_id, v_version, v_tosca_model_yaml, v_tosca_model_json, v_user_id);
+END;
+
+CREATE PROCEDURE set_dictionary
+ (IN v_dictionary_name VARCHAR(80),
+ IN v_user_id VARCHAR(80),
+ OUT v_dictionary_id VARCHAR(36))
+BEGIN
+ SET v_dictionary_id = UUID();
+ INSERT INTO dictionary
+ (dictionary_id, dictionary_name, created_by, modified_by)
+ VALUES (v_dictionary_id, v_dictionary_name, v_user_id, v_user_id);
+END;
+
+CREATE PROCEDURE set_dictionary_elements
+ (IN v_dictionary_id VARCHAR(36),
+ IN v_dict_element_name VARCHAR(250),
+ IN v_dict_element_short_name VARCHAR(80),
+ IN v_dict_element_description VARCHAR(250),
+ IN v_dict_element_type VARCHAR(80),
+ IN v_user_id VARCHAR(80),
+ OUT v_dict_element_id VARCHAR(36))
+BEGIN
+ SET v_dict_element_id = UUID();
+ INSERT INTO dictionary_elements
+ (dict_element_id, dictionary_id, dict_element_name, dict_element_short_name, dict_element_description, dict_element_type, created_by, modified_by)
+ VALUES (v_dict_element_id, v_dictionary_id, v_dict_element_name, v_dict_element_short_name, v_dict_element_description, v_dict_element_type, v_user_id, v_user_id);
+END;
//
DELIMITER ;