aboutsummaryrefslogtreecommitdiffstats
path: root/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V1.1__Initial_Recipe_Setup.sql
blob: 1663fdd6a83e35edb86d66e704b34e4b52bedfb2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
SET FOREIGN_KEY_CHECKS=0;
INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (1,'CONTRAIL_BASIC','CREATE',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (2,'CONTRAIL_BASIC','DELETE',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (3,'CONTRAIL_BASIC','UPDATE',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (4,'CONTRAIL_SHARED','CREATE',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
INSERT INTO `network_recipe` (`id<
}
'use strict';
import {ArtifactModel, Resource, Component} from "app/models";
import {ArtifactsUtils, FormState, ValidationUtils, ArtifactType} from "app/utils";
import {CacheService} from "app/services";

export interface IEditArtifactModel {
    artifactResource:ArtifactModel;
    artifactTypes:Array<string>;
    artifactFile:any;
}

export interface IArtifactResourceFormViewModelScope extends ng.IScope {
    forms:any;
    $$childTail:any;
    isNew:boolean;
    isLoading:boolean;
    validationPattern:RegExp;
    urlValidationPattern:RegExp;
    labelValidationPattern:RegExp;
    integerValidationPattern:RegExp;
    commentValidationPattern:RegExp;
    artifactType:string;
    editArtifactResourceModel:IEditArtifactModel;
    defaultHeatTimeout:number;
    validExtensions:any;
    originalArtifactName:string;
    editForm:ng.IFormController;
    footerButtons:Array<any>;
    modalInstanceArtifact:ng.ui.bootstrap.IModalServiceInstance;

    fileExtensions():string;
    save(doNotCloseModal?:boolean):void;
    saveAndAnother():void;
    close():void;
    getOptions():Array<string>;
    isDeploymentHeat():boolean;
    onFileChange():void;
    setDefaultTimeout():void;
    openEditEnvParametersModal(artifact:ArtifactModel):void;
    getFormTitle():string;
    fileUploadRequired():string;
    isArtifactOwner():boolean;
}

export class ArtifactResourceFormViewModel {

    static '$inject' = [
        '$scope',
        '$uibModalInstance',
        'artifact',
        'Sdc.Services.CacheService',
        'ValidationPattern',
        'UrlValidationPattern',
        'LabelValidationPattern',
        'IntegerValidationPattern',
        'CommentValidationPattern',
        'ValidationUtils',
        '$base64',
        '$state',
        'ArtifactsUtils',
        '$uibModal',
        'component'
    ];

    private formState:FormState;
    private entityId:string;

    constructor(private $scope:IArtifactResourceFormViewModelScope,
                private $uibModalInstance:ng.ui.bootstrap.IModalServiceInstance,
                private artifact:ArtifactModel,
                private cacheService:CacheService,
                private ValidationPattern:RegExp,
                private UrlValidationPattern:RegExp,
                private LabelValidationPattern:RegExp,
                private IntegerValidationPattern:RegExp,
                private CommentValidationPattern:RegExp,
                private ValidationUtils:ValidationUtils,
                private $base64:any,
                private $state:any,
                private artifactsUtils:ArtifactsUtils,
                private $uibModal:ng.ui.bootstrap.IModalService,
                private component:Component) {


        this.entityId = this.component.uniqueId;
        this.formState = angular.isDefined(artifact.artifactLabel) ? FormState.UPDATE : FormState.CREATE;
        this.initScope();
    }

    private initEntity = ():void => {
        this.$scope.editArtifactResourceModel.artifactResource = this.artifact;
        this.$scope.originalArtifactName = this.artifact.artifactName;
    };


    private initFooterButtons = ():void => {

        this.$scope.footerButtons = [
            {'name': 'Done', 'css': 'blue', 'callback': this.$scope.save}
        ];
        if (this.$scope.isNew) {
            this.$scope.footerButtons.push({
                'name': 'Add Another',
                'css': 'grey',
                'disabled': !this.$scope.isNew && 'deployment' === this.$scope.artifactType,
                'callback': this.$scope.saveAndAnother
            });
        }
    };

    private filterDeploymentArtifactTypeByResourceType = (resourceType:string):any => {
        let result = {};
        _.each(this.$scope.validExtensions, function (typeSettings:any, typeName:string) {
            if (!typeSettings.validForResourceTypes || typeSettings.validForResourceTypes.indexOf(resourceType) > -1) {
                result[typeName] = typeSettings;
            }
        });

        return result;
    };

    private initArtifactTypes = ():void => {

        let artifactTypes:any = this.cacheService.get('UIConfiguration');

        if ('deployment' === this.$scope.artifactType) {


            if ('HEAT_ENV' == this.artifact.artifactType || this.component.selectedInstance) {
                this.$scope.validExtensions = artifactTypes.artifacts.deployment.resourceInstanceDeploymentArtifacts;
            } else if (this.component.isResource()) {
                this.$scope.validExtensions = artifactTypes.artifacts.deployment.resourceDeploymentArtifacts;
                this.$scope.validExtensions = this.filterDeploymentArtifactTypeByResourceType((<Resource>this.component).resourceType);
            } else {
                this.$scope.validExtensions = artifactTypes.artifacts.deployment.serviceDeploymentArtifacts;
            }

            if (this.$scope.validExtensions) {
                this.$scope.editArtifactResourceModel.artifactTypes = Object.keys(this.$scope.validExtensions);
            }
            this.$scope.defaultHeatTimeout = artifactTypes.defaultHeatTimeout;
            if (this.$scope.isNew) {
                let isHeat = 'HEAT_ENV' == this.artifact.artifactType;
                _.remove(this.$scope.editArtifactResourceModel.artifactTypes, (item:string)=> {
                    return 'HEAT' == item.substring(0, 4) || (!isHeat && item == "VF_MODULES_METADATA") ||
                        _.has(ArtifactType.THIRD_PARTY_RESERVED_TYPES, item);
                });
            }

        }
        if (this.$scope.artifactType === 'informational') {
            this.$scope.editArtifactResourceModel.artifactTypes = artifactTypes.artifacts.other.map((element:any)=> {
                return element.name;
            });
            _.remove(this.$scope.editArtifactResourceModel.artifactTypes, (item:string)=> {
                return _.has(ArtifactType.THIRD_PARTY_RESERVED_TYPES, item) ||
                    _.has(ArtifactType.TOSCA, item);
            })
        }

        if (this.component.isResource() && (<Resource>this.component).isCsarComponent()) {
            _.remove(this.$scope.editArtifactResourceModel.artifactTypes, (item:string) => {
                return this.artifactsUtils.isLicenseType(item);
            })
        }

    };

    private initEditArtifactResourceModel = ():void => {
        this.$scope.editArtifactResourceModel = {
            artifactResource: null,
            artifactTypes: null,
            artifactFile: {}
        };

        this.initEntity();
    };

    private initScope = ():void => {

        this.$scope.validationPattern = this.ValidationPattern;
        this.$scope.urlValidationPattern = this.UrlValidationPattern;
        this.$scope.labelValidationPattern = this.LabelValidationPattern;
        this.$scope.integerValidationPattern = this.IntegerValidationPattern;
        this.$scope.commentValidationPattern = this.CommentValidationPattern;
        this.$scope.isLoading = false;
        this.$scope.isNew = (this.formState === FormState.CREATE);
        this.$scope.artifactType = this.artifactsUtils.getArtifactTypeByState(this.$state.current.name);
        this.$scope.modalInstanceArtifact = this.$uibModalInstance;

        this.initEditArtifactResourceModel();
        this.initArtifactTypes();

        // In case of edit, show the file name in browse.
        if (this.artifact.artifactName !== "" && 'HEAT_ENV' !== this.artifact.artifactType) {
            this.$scope.editArtifactResourceModel.artifactFile = {};
            this.$scope.editArtifactResourceModel.artifactFile.filename = this.artifact.artifactName;
        }

        //scope methods
        this.$scope.isDeploymentHeat = ():boolean => {
            return !this.$scope.isNew && this.$scope.artifactType === 'deployment'
                && this.$scope.editArtifactResourceModel.artifactResource.isHEAT();

        };
        this.$scope.onFileChange = ():void => {
            if (this.$scope.editArtifactResourceModel.artifactFile && this.$scope.editArtifactResourceModel.artifactFile.filename) {
                this.$scope.editArtifactResourceModel.artifactResource.artifactName = this.$scope.editArtifactResourceModel.artifactFile.filename;
            } else {
                this.$scope.editArtifactResourceModel.artifactResource.artifactName = this.$scope.originalArtifactName;
            }
        };
        this.$scope.setDefaultTimeout = ():void => {
            if (this.$scope.isDeploymentHeat() && !this.$scope.editArtifactResourceModel.artifactResource.timeout) {
                this.$scope.editArtifactResourceModel.artifactResource.timeout = this.$scope.defaultHeatTimeout;
            }

            if (this.$scope.editArtifactResourceModel.artifactFile.filename) {
                this.$scope.editArtifactResourceModel.artifactFile = {};
                this.$scope.forms.editForm.myArtifactFile.$setValidity('required', false);
            }
        };

        this.$scope.fileExtensions = ():string => {
            let type:string = this.$scope.editArtifactResourceModel.artifactResource.artifactType;
            return type && this.$scope.validExtensions && this.$scope.validExtensions[type].acceptedTypes ?
                this.$scope.validExtensions[type].acceptedTypes.join(',') : "";
        };

        this.$scope.save = (doNotCloseModal?:boolean):void => {
            this.$scope.isLoading = true;
            this.$scope.editArtifactResourceModel.artifactResource.description = this.ValidationUtils.stripAndSanitize(this.$scope.editArtifactResourceModel.artifactResource.description);

            if (!this.$scope.isDeploymentHeat()) {
                this.$scope.editArtifactResourceModel.artifactResource.timeout = null;
            }

            if (this.$scope.editArtifactResourceModel.artifactFile) {
                this.$scope.editArtifactResourceModel.artifactResource.payloadData = this.$scope.editArtifactResourceModel.artifactFile.base64;
                this.$scope.editArtifactResourceModel.artifactResource.artifactName = this.$scope.editArtifactResourceModel.artifactFile.filename;
            }

            let onFaild = (response):void => {
                this.$scope.isLoading = false;
                console.info('onFaild', response);
            };

            let onSuccess = (artifactResource:ArtifactModel):void => {
                this.$scope.isLoading = false;
                this.$scope.originalArtifactName = "";

                if (this.$scope.isDeploymentHeat()) {
                    if (artifactResource.heatParameters) {
                        this.$scope.openEditEnvParametersModal(artifactResource);
                    }
                }

                if (!doNotCloseModal) {
                    this.$uibModalInstance.close();
                } else {
                    this.$scope.editArtifactResourceModel.artifactFile = null;
                    angular.element("input[type='file']").val(null); //  for support chrome when upload the same file
                    this.artifactsUtils.addAnotherAfterSave(this.$scope);
                }

            };

            if ('HEAT_ENV' == this.artifact.artifactType) {
                if (this.component.selectedInstance) {
                    this.component.uploadInstanceEnvFile(this.$scope.editArtifactResourceModel.artifactResource).then(onSuccess, onFaild);
                } else {
                    this.component.addOrUpdateArtifact(this.$scope.editArtifactResourceModel.artifactResource).then(onSuccess, onFaild);

                }
            } else if (this.$scope.isArtifactOwner()) {
                this.component.addOrUpdateInstanceArtifact(this.$scope.editArtifactResourceModel.artifactResource).then(onSuccess, onFaild);
            } else {
                this.component.addOrUpdateArtifact(this.$scope.editArtifactResourceModel.artifactResource).then(onSuccess, onFaild);
            }
        };

        this.$scope.isArtifactOwner = ():boolean=> {
            return this.component.isService() && !!this.component.selectedInstance;
        };

        this.$scope.saveAndAnother = ():void => {
            this.$scope.save(true);
        };

        this.$scope.close = ():void => {
            this.$uibModalInstance.close();
        };

        this.$scope.fileUploadRequired = ():string => {
            if (this.$scope.editArtifactResourceModel.artifactFile.filename) {
                // This is edit mode
                return 'false';
            } else {
                return 'true';
            }
        };

        this.$scope.getFormTitle = ():string => {
            if ('HEAT_ENV' == this.artifact.artifactType) {
                return 'Update HEAT ENV';
            }
            if (this.$scope.isDeploymentHeat()) {
                if (!this.$scope.editArtifactResourceModel.artifactResource.artifactChecksum) {
                    return 'Add HEAT Template';
                }
                return 'Update HEAT Template';
            }
            if (this.$scope.isNew) {
                return 'Add Artifact';
            }
            return 'Update Artifact';
        };

        this.$scope.openEditEnvParametersModal = (artifactResource:ArtifactModel):void => {

            let modalOptions:ng.ui.bootstrap.IModalSettings = {
                templateUrl: '../env-parameters-form/env-parameters-form.html',
                controller: 'Sdc.ViewModels.EnvParametersFormViewModel',
                size: 'sdc-md',
                backdrop: 'static',
                resolve: {
                    artifact: ():ArtifactModel => {
                        return artifactResource;
                    },
                    component: ():Component => {
                        return this.component;
                    }
                }
            };

            let modalInstance:ng.ui.bootstrap.IModalServiceInstance = this.$uibModal.open(modalOptions);
            modalInstance
                .result
                .then(():void => {
                });
        };

        this.$scope.forms = {};

        this.initFooterButtons();


        this.$scope.$watch("forms.editForm.$invalid", (newVal, oldVal) => {
            if(this.$scope.forms.editForm) {
                this.$scope.footerButtons[0].disabled = this.$scope.forms.editForm.$invalid;
                if (this.$scope.isNew) {
                    this.$scope.footerButtons[1].disabled = this.$scope.forms.editForm.$invalid;
                }
            }
        });

    }
}
">(16,'scaleInstance','1','Custom recipe to scale E2E service-instance if no custom BPMN flow is found','/mso/async/services/ScaleCustomE2EServiceInstance',NULL,180,NULL,'2018-05-15 18:52:03','dfcd7471-16c7-444e-8268-d4c50d90593a'); INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (1,'*','VOLUME_GROUP',NULL,'CREATE',NULL,'1','Recipe Match All for','/mso/async/services/createCinderVolumeV1',null,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (2,'*','VOLUME_GROUP',NULL,'DELETE',NULL,'1','Recipe Match All for','/mso/async/services/deleteCinderVolumeV1',null,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (3,'*','VOLUME_GROUP',NULL,'UPDATE',NULL,'1','Recipe Match All for','/mso/async/services/updateCinderVolumeV1',null,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (4,NULL,'VOLUME_GROUP',NULL,'CREATE_VF_MODULE_VOL',NULL,'1','Recipe Match All for','/mso/async/services/CreateVfModuleVolume',null,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (5,NULL,'VOLUME_GROUP',NULL,'DELETE_VF_MODULE_VOL',NULL,'1','Recipe Match All for','/mso/async/services/DeleteVfModuleVolume',null,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (6,NULL,'VOLUME_GROUP',NULL,'UPDATE_VF_MODULE_VOL',NULL,'1','Recipe Match All for','/mso/async/services/UpdateVfModuleVolume',null,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (7,NULL,'volumeGroup','VID_DEFAULT','createInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/CreateVfModuleVolumeInfraV1',null,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (8,NULL,'volumeGroup','VID_DEFAULT','deleteInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/DeleteVfModuleVolumeInfraV1',null,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (9,NULL,'volumeGroup','VID_DEFAULT','updateInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/UpdateVfModuleVolumeInfraV1',null,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (10,NULL,'vfModule','VID_DEFAULT','createInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/CreateVfModuleInfra',null,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (11,NULL,'vfModule','VID_DEFAULT','deleteInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/DeleteVfModuleInfra',null,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (12,NULL,'vfModule','VID_DEFAULT','updateInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/UpdateVfModuleInfra',null,180,'2017-10-05 18:52:03'); -- -- Default Reciepe for the VNF componnets added start #SO-334, to unblock the VNF operations -- INSERT INTO `vnf_components_recipe` (`VNF_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`,`VNF_COMPONENT_TYPE`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES (NULL,'POLICY_DEFAULT','createInstance','1','Recipe Match POLICY_DEFAULT for VF Modules if no custom flow exists','/mso/async/services/CreateVfModuleInfra','vfModule',NULL,180,NULL); INSERT INTO `vnf_components_recipe` (`VNF_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`,`VNF_COMPONENT_TYPE`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES (NULL,'POLICY_DEFAULT','updateInstance','1','Recipe Match POLICY_DEFAULT for VF Modules if no custom flow exists','/mso/async/services/UpdateVfModuleInfra','vfModule',NULL,180,NULL); INSERT INTO `vnf_components_recipe` (`VNF_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`,`VNF_COMPONENT_TYPE`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES (NULL,'POLICY_DEFAULT','deleteInstance','1','Recipe Match POLICY_DEFAULT for VF Modules if no custom flow exists','/mso/async/services/DeleteVfModuleInfra','vfModule',NULL,180,NULL); -- -- Default Reciepe for the VNF componnets added End -- INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (1,NULL,'CREATE',NULL,'1','*','Recipe Match All for VNFs if no custom flow exists','/mso/workflow/services/CreateGenericVNFV1',NULL,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (2,NULL,'DELETE',NULL,'1','*','Recipe Match All for VNFs if no custom flow exists','/mso/async/services//deleteGenericVNFV1',NULL,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (3,NULL,'UPDATE',NULL,'1','*','Recipe Match All for VNFs if no custom flow exists','/mso/workflow/services/updateGenericVNFV1',NULL,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (4,'*','CREATE_VF_MODULE',NULL,'1',NULL,'Recipe Match All for VNFs if no custom flow exists','/mso/async/services/CreateVfModule',NULL,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (5,'*','DELETE_VF_MODULE',NULL,'1',NULL,'Recipe Match All for VNFs if no custom flow exists','/mso/async/services/DeleteVfModule',NULL,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (6,'*','UPDATE_VF_MODULE',NULL,'1',NULL,'Recipe Match All for VNFs if no custom flow exists','/mso/async/services/UpdateVfModule',NULL,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (7,NULL,'createInstance',NULL,'1','VID_DEFAULT','VID_DEFAULT recipe to create VNF if no custom BPMN flow is found','/mso/async/services/CreateVnfInfra',NULL,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (8,NULL,'deleteInstance',NULL,'1','VID_DEFAULT','VID_DEFAULT recipe to delete VNF if no custom BPMN flow is found','/mso/async/services/DeleteVnfInfra',NULL,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (9,NULL,'createInstance',NULL,'1','RESOURCE_NS_DEFAULT','NS default recipe to create network service if no custom BPMN flow is found','/mso/async/services/CreateVFCNetworkService',NULL,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (10,NULL,'deleteInstance',NULL,'1','RESOURCE_NS_DEFAULT','NS default recipe to delete network service if no custom BPMN flow is found','/mso/async/services/DeleteVFCNetworkService',NULL,180,'2017-10-05 18:52:03'); INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (11,NULL,'createInstance',NULL,'1','NS_DEFAULT','default custom E2E recipe to create NS if no custom BPMN flow is found','/mso/async/services/CreateVFCNSResource',NULL,180,'2018-04-18 18:52:03'); INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (12,NULL,'deleteInstance',NULL,'1','NS_DEFAULT','default custom E2E recipe to delete NS if no custom BPMN flow is found','/mso/async/services/DeleteVFCNSResource',NULL,180,'2018-04-18 18:52:03'); INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (13,NULL,'inPlaceSoftwareUpdate',NULL,'1','VID_DEFAULT','VID_DEFAULT recipe to update VNF software if no custom BPMN flow is found','/mso/async/services/VnfInPlaceUpdate',NULL,180,'2018-05-23 11:00:00'); INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (14,NULL,'applyUpdatedConfig',NULL,'1','VID_DEFAULT','VID_DEFAULT recipe to apply updated VNF config if no custom BPMN flow is found','/mso/async/services/VnfConfigUpdate',NULL,180,'2018-05-23 11:00:00'); SET FOREIGN_KEY_CHECKS=1;