| /*! |
| * 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' |
| }, |
| }, |
| }; |