/*! * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. * * 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. */ import keyMirror from 'nfvo-utils/KeyMirror.js'; export const actionTypes = keyMirror({ LOAD_CONFLICTS: null, ADD_ACTIONS: null, LOAD_CONFLICT: null, DATA_PROCESSED: null }); export const rules = { SKIP: 'skip', PARSE: 'parse', FUNCTION: 'function', BOOLEAN: 'boolean' }; export const SyncStates = { MERGE: 'Merging', OUT_OF_SYNC: 'OutOfSync', UP_TO_DATE: 'UpToDate' }; export const ResolutionTypes = { YOURS: 'YOURS', THEIRS: 'THEIRS' }; export const fileTypes = { LKG: 'LicenseKeyGroup', VLM: 'VendorLicenseModel', EP: 'EntitlementPool', FG: 'FeatureGroup', LA: 'LicenseAgreement', VSP: 'VendorSoftwareProduct', LIMIT: 'Limit', VSP_Q: 'VSPQuestionnaire', COMPONENT: 'Component', COMPONENT_Q: 'ComponentQuestionnaire', COMPONENT_DEP: 'ComponentDependencies', COMPUTE_Q: 'ComputeQuestionnaire', COMPUTE: 'Compute', COMPUTE_FLAVOR: 'ComputeFlavor', NIC: 'Nic', NIC_Q: 'NicQuestionnaire', IMAGE: 'Image', IMAGE_Q: 'ImageQuestionnaire', PROCESS: 'Process', DEPLOYMENT_FLAVOR: 'DeploymentFlavor', VENDOR: 'Vendor', NETWORK: 'Network', ORCHESTRATION_TEMPLATE_CANDIDATE: 'OrchestrationTemplateCandidate' }; export const dataRules = { general: { id: { rule: rules.SKIP }, questionareData: { rule: rules.PARSE, moveFields: true }, startDate: { rule: rules.FUNCTION, functionName: 'parseDate' }, expiryDate: { rule: rules.FUNCTION, functionName: 'parseDate' }, featureGroups: { rule: rules.FUNCTION, functionName: 'reduceList', args: { subField: 'name' } }, licenseKeyGroups: { rule: rules.FUNCTION, functionName: 'reduceList', args: { subField: 'name' } }, entitlementPools: { rule: rules.FUNCTION, functionName: 'reduceList', args: { subField: 'name' } } }, [fileTypes.COMPONENT]: {}, [fileTypes.COMPUTE_FLAVOR]: { associatedToDeploymentFlavor: { rule: rules.BOOLEAN, trueValue: 'true' } }, [fileTypes.COMPUTE_Q]: {}, [fileTypes.COMPONENT_Q]: { isComponentMandatory: { rule: rules.BOOLEAN, trueValue: 'YES', falseValue: 'NO' } }, [fileTypes.EP]: { referencingFeatureGroups: { rule: rules.SKIP, functionName: 'getFeatureGroups' }, operationalScope: { rule: rules.FUNCTION, functionName: 'processChoices' } }, [fileTypes.FG]: { referencingLicenseAgreements: { rule: rules.SKIP, functionName: 'getLicenseAgreements' } }, [fileTypes.LA]: { licenseTerm: { rule: rules.FUNCTION, functionName: 'processChoice' } }, [fileTypes.LIMIT]: { type: { rule: rules.FUNCTION, functionName: 'getEnumValue', args: { listName: 'limitType' } }, unit: { rule: rules.FUNCTION, functionName: 'getEnumValue', args: { listName: 'limitUnit' } } }, [fileTypes.LKG]: { operationalScope: { rule: rules.FUNCTION, functionName: 'processChoices' }, referencingFeatureGroups: { rule: rules.SKIP, functionName: 'getFeatureGroups' } }, [fileTypes.NIC]: { networkId: { rule: rules.SKIP } }, [fileTypes.NIC_Q]: {}, [fileTypes.PROCESS]: { type: { rule: rules.FUNCTION, functionName: 'getEnumValue', args: { listName: 'processType' } } }, [fileTypes.VLM]: { iconRef: { rule: rules.SKIP } }, [fileTypes.VSP]: { vendorId: { rule: rules.SKIP }, onboardingMethod: { rule: rules.SKIP }, validationData: { rule: rules.SKIP }, isOldVersion: { rule: rules.SKIP }, licensingVersion: { rule: rules.FUNCTION, functionName: 'fetchLMVersion' }, category: { rule: rules.FUNCTION, functionName: 'fetchCategory' }, subCategory: { rule: rules.SKIP } }, [fileTypes.VSP_Q]: { affinityData: { rule: rules.SKIP }, storageReplicationAcrossRegion: { rule: rules.BOOLEAN, trueValue: 'true', falseValue: 'false' } }, [fileTypes.ORCHESTRATION_TEMPLATE_CANDIDATE]: { modules: { rule: rules.FUNCTION, functionName: 'convertArrayToObject' } } };