diff options
Diffstat (limited to 'src')
14 files changed, 155 insertions, 2322 deletions
diff --git a/src/main/java/org/onap/policy/clamp/clds/tosca/ToscaYamlToJsonConvertor.java b/src/main/java/org/onap/policy/clamp/clds/tosca/ToscaYamlToJsonConvertor.java deleted file mode 100644 index 4f718d5d7..000000000 --- a/src/main/java/org/onap/policy/clamp/clds/tosca/ToscaYamlToJsonConvertor.java +++ /dev/null @@ -1,781 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2018, 2021 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. - * ============LICENSE_END============================================ - * =================================================================== - * - */ - -package org.onap.policy.clamp.clds.tosca; - -import com.google.gson.Gson; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Optional; -import java.util.stream.Collectors; -import org.json.JSONArray; -import org.json.JSONObject; -import org.onap.policy.clamp.clds.config.ClampProperties; -import org.onap.policy.clamp.tosca.Dictionary; -import org.onap.policy.clamp.tosca.DictionaryElement; -import org.onap.policy.clamp.tosca.DictionaryService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -import org.yaml.snakeyaml.Yaml; - -/** - * Tosca Model Yaml parser and convertor to JSON Schema consumable for JSON - * Editor. - * - */ -@Component -@Deprecated -public class ToscaYamlToJsonConvertor { - - @Autowired - private DictionaryService dictionaryService; - - @Autowired - private ClampProperties refProp; - - private int simpleTypeOrder = 1000; - private int complexTypeOrder = 10000; - private int complexSimpleTypeOrder = 1; - - private int incrementSimpleTypeOrder() { - return simpleTypeOrder++; - } - - private int incrementComplexTypeOrder() { - return complexTypeOrder = complexTypeOrder + 10000; - } - - private int incrementComplexSimpleTypeOrder() { - complexSimpleTypeOrder++; - return complexTypeOrder + complexSimpleTypeOrder; - } - - /** - * Parses Tosca YAML string and Converts to JsonObject. - * - * @param yamlString YAML string - * @return JsonObject - */ - public JsonObject validateAndConvertToJson(String yamlString) { - - Yaml yaml = new Yaml(); - LinkedHashMap<String, Object> loadedYaml = yaml.load(yamlString); - if (loadedYaml == null) { - return null; - } - - JSONObject jsonObject = new JSONObject(loadedYaml); - return new Gson().fromJson(jsonObject.toString(), JsonObject.class); - } - - /** - * return the values by looking up the key in the Toscsa JSON object. - * - * @param obj Tosca Json Object - * @param key the parameter key to look up - * @return the value for the provided key - */ - public String getValueFromMetadata(JsonObject obj, String key) { - JsonElement jsonElement = obj.get(ToscaSchemaConstants.NODE_TYPES); - if (jsonElement.isJsonObject()) { - Iterator<Entry<String, JsonElement>> itr = - jsonElement.getAsJsonObject().entrySet().iterator(); - while (itr.hasNext()) { - Entry<String, JsonElement> entry = itr.next(); - if (entry.getValue() != null && entry.getValue().isJsonObject() - && entry.getValue().getAsJsonObject().has(ToscaSchemaConstants.METADATA)) { - JsonObject metadatas = entry.getValue().getAsJsonObject() - .get(ToscaSchemaConstants.METADATA).getAsJsonObject(); - if (metadatas.has(key)) { - return metadatas.get(key).getAsString(); - } - } - } - } - return null; - } - - /** - * Parses Tosca YAML string. - * - * @param yamlString YAML string - * @param modelTypeToUse The model type that must be used to obtain the Json - * Schema - * @return JSON string - */ - public String parseToscaYaml(String yamlString, String modelTypeToUse) { - - Yaml yaml = new Yaml(); - LinkedHashMap<String, Object> loadedYaml = yaml.load(yamlString); - if (loadedYaml == null) { - return ""; - } - LinkedHashMap<String, Object> nodeTypes = new LinkedHashMap<>(); - LinkedHashMap<String, Object> dataNodes = new LinkedHashMap<>(); - JSONObject jsonParentObject = new JSONObject(); - JSONObject jsonTempObject = new JSONObject(); - parseNodeAndDataType(loadedYaml, nodeTypes, dataNodes); - populateJsonEditorObject(loadedYaml, nodeTypes, dataNodes, jsonParentObject, jsonTempObject, - modelTypeToUse); - - String headerTemplate = getValueFromMetadata(validateAndConvertToJson(yamlString), - ToscaSchemaConstants.METADATA_HEADER_TEMPLATE); - if (headerTemplate != null) { - jsonParentObject.put(JsonEditorSchemaConstants.HEADER_TEMPLATE, - JsonEditorSchemaConstants.HEADER_TEMPLATE_VALUE); - } - if (jsonTempObject.length() > 0) { - jsonParentObject = jsonTempObject; - } - JSONObject jsonEditorObject = new JSONObject(); - jsonEditorObject.put(JsonEditorSchemaConstants.SCHEMA, jsonParentObject); - return jsonEditorObject.toString(); - } - - // Parse node_type and data_type - @SuppressWarnings("unchecked") - private void parseNodeAndDataType(LinkedHashMap<String, Object> map, - LinkedHashMap<String, Object> nodeTypes, LinkedHashMap<String, Object> dataNodes) { - map.entrySet().stream().forEach(n -> { - if (n.getKey().contains(ToscaSchemaConstants.NODE_TYPES) - && n.getValue() instanceof Map) { - parseNodeAndDataType((LinkedHashMap<String, Object>) n.getValue(), nodeTypes, - dataNodes); - } else if (n.getKey().contains(ToscaSchemaConstants.DATA_TYPES) - && n.getValue() instanceof Map) { - parseNodeAndDataType((LinkedHashMap<String, Object>) n.getValue(), nodeTypes, - dataNodes); - } else if (n.getKey().contains(ToscaSchemaConstants.POLICY_NODE)) { - nodeTypes.put(n.getKey(), n.getValue()); - } else if (n.getKey().contains(ToscaSchemaConstants.POLICY_DATA)) { - dataNodes.put(n.getKey(), n.getValue()); - } - }); - } - - @SuppressWarnings("unchecked") - private void populateJsonEditorObject(LinkedHashMap<String, Object> map, - LinkedHashMap<String, Object> nodeTypes, LinkedHashMap<String, Object> dataNodes, - JSONObject jsonParentObject, JSONObject jsonTempObject, String modelTypeToUse) { - - Map<String, JSONObject> jsonEntrySchema = new HashMap<>(); - jsonParentObject.put(JsonEditorSchemaConstants.TYPE, JsonEditorSchemaConstants.TYPE_OBJECT); - if (nodeTypes.get(modelTypeToUse) instanceof Map) { - ((LinkedHashMap<String, Object>) nodeTypes.get(modelTypeToUse)).entrySet() - .forEach(ntElement -> { - if (ntElement.getKey().equalsIgnoreCase(ToscaSchemaConstants.PROPERTIES)) { - JSONArray rootNodeArray = new JSONArray(); - if (ntElement.getValue() instanceof Map) { - ((LinkedHashMap<String, Object>) ntElement.getValue()).entrySet() - .forEach((ntPropertiesElement) -> { - boolean isListNode = false; - parseDescription( - (LinkedHashMap<String, Object>) ntPropertiesElement - .getValue(), - jsonParentObject); - LinkedHashMap<String, Object> parentPropertiesMap = - (LinkedHashMap<String, Object>) ntPropertiesElement - .getValue(); - if (parentPropertiesMap.containsKey(ToscaSchemaConstants.TYPE) - && ((String) parentPropertiesMap - .get(ToscaSchemaConstants.TYPE)) - .contains(ToscaSchemaConstants.TYPE_MAP) - && parentPropertiesMap - .containsKey(ToscaSchemaConstants.ENTRY_SCHEMA)) { - parentPropertiesMap = - (LinkedHashMap<String, Object>) parentPropertiesMap - .get(ToscaSchemaConstants.ENTRY_SCHEMA); - isListNode = true; - } - if (parentPropertiesMap.containsKey(ToscaSchemaConstants.TYPE) - && ((String) parentPropertiesMap - .get(ToscaSchemaConstants.TYPE)) - .contains(ToscaSchemaConstants.POLICY_DATA)) { - ((LinkedHashMap<String, Object>) dataNodes.get( - parentPropertiesMap.get(ToscaSchemaConstants.TYPE))) - .entrySet().stream().forEach(pmap -> { - if (pmap.getKey().equalsIgnoreCase( - ToscaSchemaConstants.PROPERTIES)) { - parseToscaProperties( - ToscaSchemaConstants.POLICY_NODE, - (LinkedHashMap<String, Object>) pmap - .getValue(), - jsonParentObject, rootNodeArray, - jsonEntrySchema, dataNodes, - incrementSimpleTypeOrder()); - } - }); - } - if (isListNode) { - jsonTempObject.put(JsonEditorSchemaConstants.TYPE, - JsonEditorSchemaConstants.TYPE_ARRAY); - parseDescription( - (LinkedHashMap<String, Object>) ntPropertiesElement - .getValue(), - jsonTempObject); - jsonTempObject.put(JsonEditorSchemaConstants.ITEMS, - jsonParentObject); - jsonTempObject.put(JsonEditorSchemaConstants.FORMAT, - JsonEditorSchemaConstants.CUSTOM_KEY_FORMAT_TABS); - jsonTempObject.put(JsonEditorSchemaConstants.UNIQUE_ITEMS, - JsonEditorSchemaConstants.TRUE); - } - }); - } - } - }); - } - } - - @SuppressWarnings("unchecked") - private void parseToscaProperties(String parentKey, LinkedHashMap<String, Object> propertiesMap, - JSONObject jsonDataNode, JSONArray array, Map<String, JSONObject> jsonEntrySchema, - LinkedHashMap<String, Object> dataNodes, final int order) { - JSONObject jsonPropertyNode = new JSONObject(); - propertiesMap.entrySet().stream().forEach(p -> { - // Populate JSON Array for "required" key - - if (p.getValue() instanceof Map) { - LinkedHashMap<String, Object> nodeMap = - (LinkedHashMap<String, Object>) p.getValue(); - if (nodeMap.containsKey(ToscaSchemaConstants.REQUIRED) - && ((boolean) nodeMap.get(ToscaSchemaConstants.REQUIRED))) { - array.put(p.getKey()); - } - // if(nodeMap.containsKey(ToscaSchemaConstants.CONSTRAINTS)) - parseToscaChildNodeMap(p.getKey(), nodeMap, jsonPropertyNode, jsonEntrySchema, - dataNodes, array, incrementSimpleTypeOrder()); - } - }); - jsonDataNode.put(JsonEditorSchemaConstants.REQUIRED, array); - jsonDataNode.put(JsonEditorSchemaConstants.PROPERTIES, jsonPropertyNode); - } - - @SuppressWarnings("unchecked") - private void parseToscaPropertiesForType(String parentKey, - LinkedHashMap<String, Object> propertiesMap, JSONObject jsonDataNode, JSONArray array, - Map<String, JSONObject> jsonEntrySchema, LinkedHashMap<String, Object> dataNodes, - boolean isType, int order) { - JSONObject jsonPropertyNode = new JSONObject(); - - propertiesMap.entrySet().stream().forEach(p -> { - // array.put(p.getKey()); - boolean overWriteArray = false; - if (p.getValue() instanceof Map) { - LinkedHashMap<String, Object> nodeMap = - (LinkedHashMap<String, Object>) p.getValue(); - if (!(parentKey.contains(ToscaSchemaConstants.ENTRY_SCHEMA) - || parentKey.contains(ToscaSchemaConstants.POLICY_NODE)) - && nodeMap.containsKey(ToscaSchemaConstants.TYPE) - && (((String) nodeMap.get(ToscaSchemaConstants.TYPE)) - .contains(ToscaSchemaConstants.POLICY_DATA))) { - overWriteArray = true; - } - if (nodeMap.containsKey(ToscaSchemaConstants.REQUIRED) - && ((boolean) nodeMap.get(ToscaSchemaConstants.REQUIRED))) { - array.put(p.getKey()); - } - parseToscaChildNodeMap(p.getKey(), nodeMap, jsonPropertyNode, jsonEntrySchema, - dataNodes, array, order); - } - }); - jsonDataNode.put(JsonEditorSchemaConstants.REQUIRED, array); - jsonDataNode.put(JsonEditorSchemaConstants.PROPERTIES, jsonPropertyNode); - } - - private void parseToscaChildNodeMap(String childObjectKey, - LinkedHashMap<String, Object> childNodeMap, JSONObject jsonPropertyNode, - Map<String, JSONObject> jsonEntrySchema, LinkedHashMap<String, Object> dataNodes, - JSONArray array, int order) { - JSONObject childObject = new JSONObject(); - // JSONArray childArray = new JSONArray(); - parseDescription(childNodeMap, childObject); - parseTypes(childObjectKey, childNodeMap, childObject, jsonEntrySchema, dataNodes, array, - order); - parseConstraints(childNodeMap, childObject); - parseMetadataPossibleValues(childNodeMap, childObject); - parseEntrySchema(childNodeMap, childObject, jsonPropertyNode, jsonEntrySchema, dataNodes); - - jsonPropertyNode.put(childObjectKey, childObject); - order++; - - } - - private void parseEntrySchema(LinkedHashMap<String, Object> childNodeMap, - JSONObject childObject, JSONObject jsonPropertyNode, - Map<String, JSONObject> jsonEntrySchema, LinkedHashMap<String, Object> dataNodes) { - if (childNodeMap.get(ToscaSchemaConstants.ENTRY_SCHEMA) != null) { - if (childNodeMap.get(ToscaSchemaConstants.ENTRY_SCHEMA) instanceof Map) { - LinkedHashMap<String, Object> entrySchemaMap = - (LinkedHashMap<String, Object>) childNodeMap - .get(ToscaSchemaConstants.ENTRY_SCHEMA); - entrySchemaMap.entrySet().stream().forEach(entry -> { - if (entry.getKey().equalsIgnoreCase(ToscaSchemaConstants.TYPE) - && entry.getValue() != null) { - String entrySchemaType = (String) entry.getValue(); - if (entrySchemaType.contains(ToscaSchemaConstants.POLICY_DATA)) { - JSONArray array = new JSONArray(); - if (jsonEntrySchema.get(entrySchemaType) != null) { - // Already traversed - JSONObject entrySchemaObject = jsonEntrySchema.get(entrySchemaType); - attachEntrySchemaJsonObject(childObject, entrySchemaObject, - JsonEditorSchemaConstants.TYPE_OBJECT); - } else if (dataNodes.containsKey(entrySchemaType)) { - - JSONObject entrySchemaObject = new JSONObject(); - // Need to traverse - ((LinkedHashMap<String, Object>) dataNodes.get(entrySchemaType)) - .entrySet().stream().forEach(pmap -> { - if (pmap.getKey() - .equalsIgnoreCase(ToscaSchemaConstants.PROPERTIES)) { - parseToscaProperties(ToscaSchemaConstants.ENTRY_SCHEMA, - (LinkedHashMap<String, Object>) pmap.getValue(), - entrySchemaObject, array, jsonEntrySchema, - dataNodes, incrementComplexTypeOrder()); - jsonEntrySchema.put(entrySchemaType, entrySchemaObject); - dataNodes.remove(entrySchemaType); - attachEntrySchemaJsonObject(childObject, - entrySchemaObject, - JsonEditorSchemaConstants.TYPE_OBJECT); - } - - }); - } - } else if (entrySchemaType - .equalsIgnoreCase(ToscaSchemaConstants.TYPE_STRING) - || entrySchemaType.equalsIgnoreCase(ToscaSchemaConstants.TYPE_INTEGER) - || entrySchemaType.equalsIgnoreCase(ToscaSchemaConstants.TYPE_FLOAT)) { - JSONObject entrySchemaObject = new JSONObject(); - parseConstraints(entrySchemaMap, entrySchemaObject); - parseMetadataPossibleValues(entrySchemaMap, entrySchemaObject); - String jsontype = JsonEditorSchemaConstants.TYPE_STRING; - if (entrySchemaType.equalsIgnoreCase(ToscaSchemaConstants.TYPE_INTEGER) - || entrySchemaType - .equalsIgnoreCase(ToscaSchemaConstants.TYPE_FLOAT)) { - jsontype = JsonEditorSchemaConstants.TYPE_INTEGER; - } - if (childNodeMap.get(ToscaSchemaConstants.TYPE) != null) { - // Only known value of type is String for now - if (childNodeMap.get(ToscaSchemaConstants.TYPE) instanceof String) { - String typeValue = - (String) childNodeMap.get(ToscaSchemaConstants.TYPE); - if (typeValue - .equalsIgnoreCase(ToscaSchemaConstants.TYPE_LIST)) { - // Custom key for JSON Editor and UI rendering - childObject.put(JsonEditorSchemaConstants.CUSTOM_KEY_FORMAT, - JsonEditorSchemaConstants.FORMAT_SELECT); - // childObject.put(JsonEditorSchemaConstants.UNIQUE_ITEMS, - // JsonEditorSchemaConstants.TRUE); - } - } - } - attachEntrySchemaJsonObject(childObject, entrySchemaObject, jsontype); - } - } - }); - } - } - } - - private void attachEntrySchemaJsonObject(JSONObject childObject, JSONObject entrySchemaObject, - String dataType) { - - entrySchemaObject.put(JsonEditorSchemaConstants.TYPE, dataType); - childObject.put(JsonEditorSchemaConstants.ITEMS, entrySchemaObject); - } - - @SuppressWarnings("unchecked") - private void attachTypeJsonObject(JSONObject childObject, JSONObject typeObject) { - Iterator<String> keys = typeObject.keys(); - while (keys.hasNext()) { - String key = keys.next(); - childObject.put(key, typeObject.get(key)); - } - } - - /* - * private String parseKey(String toscaKey, String lookupString) { return - * toscaKey.substring(toscaKey.indexOf(lookupString) + lookupString.length(), - * toscaKey.length()); } - */ - - private void parseDescription(LinkedHashMap<String, Object> childNodeMap, - JSONObject childObject) { - if (childNodeMap.get(ToscaSchemaConstants.DESCRIPTION) != null) { - childObject.put(JsonEditorSchemaConstants.TITLE, - childNodeMap.get(ToscaSchemaConstants.DESCRIPTION)); - } - } - - private void parseTypes(String childObjectKey, LinkedHashMap<String, Object> childNodeMap, - JSONObject childObject, Map<String, JSONObject> jsonEntrySchema, - LinkedHashMap<String, Object> dataNodes, JSONArray array, int order) { - if (childNodeMap.get(ToscaSchemaConstants.TYPE) != null) { - // Only known value of type is String for now - if (childNodeMap.get(ToscaSchemaConstants.TYPE) instanceof String) { - childObject.put(JsonEditorSchemaConstants.PROPERTY_ORDER, order); - String typeValue = (String) childNodeMap.get(ToscaSchemaConstants.TYPE); - if (typeValue.equalsIgnoreCase(ToscaSchemaConstants.TYPE_INTEGER)) { - childObject.put(JsonEditorSchemaConstants.TYPE, - JsonEditorSchemaConstants.TYPE_INTEGER); - - } else if (typeValue.equalsIgnoreCase(ToscaSchemaConstants.TYPE_FLOAT)) { - childObject.put(JsonEditorSchemaConstants.TYPE, - JsonEditorSchemaConstants.TYPE_INTEGER); - } else if (typeValue.equalsIgnoreCase(ToscaSchemaConstants.TYPE_LIST)) { - childObject.put(JsonEditorSchemaConstants.TYPE, - JsonEditorSchemaConstants.TYPE_ARRAY); - // Custom key for JSON Editor and UI rendering - childObject.put(JsonEditorSchemaConstants.CUSTOM_KEY_FORMAT, - JsonEditorSchemaConstants.CUSTOM_KEY_FORMAT_TABS_TOP); - childObject.put(JsonEditorSchemaConstants.UNIQUE_ITEMS, - JsonEditorSchemaConstants.TRUE); - } else if (typeValue.equalsIgnoreCase(ToscaSchemaConstants.TYPE_MAP)) { - childObject.put(JsonEditorSchemaConstants.TYPE, - JsonEditorSchemaConstants.TYPE_OBJECT); - } else if (typeValue.contains(ToscaSchemaConstants.POLICY_DATA)) { - JSONArray childArray = new JSONArray(); - - if (jsonEntrySchema.get(typeValue) != null) { - // Already traversed - JSONObject entrySchemaObject = jsonEntrySchema.get(typeValue); - attachTypeJsonObject(childObject, entrySchemaObject); - } else if (dataNodes.containsKey(typeValue)) { - JSONObject entrySchemaObject = new JSONObject(); - // Need to traverse - JSONArray jsonArray = new JSONArray(); - ((LinkedHashMap<String, Object>) dataNodes.get(typeValue)).entrySet() - .stream().forEach(pmap -> { - if (pmap.getKey() - .equalsIgnoreCase(ToscaSchemaConstants.PROPERTIES)) { - parseToscaPropertiesForType(childObjectKey, - (LinkedHashMap<String, Object>) pmap.getValue(), - entrySchemaObject, childArray, jsonEntrySchema, dataNodes, - true, incrementComplexSimpleTypeOrder()); - jsonEntrySchema.put(typeValue, entrySchemaObject); - dataNodes.remove(typeValue); - attachTypeJsonObject(childObject, entrySchemaObject); - } - }); - } - } else { - childObject.put(JsonEditorSchemaConstants.TYPE, - JsonEditorSchemaConstants.TYPE_STRING); - } - } - if (childNodeMap.get(ToscaSchemaConstants.DEFAULT) != null) { - childObject.put(JsonEditorSchemaConstants.DEFAULT, - childNodeMap.get(ToscaSchemaConstants.DEFAULT)); - } - } - } - - private void parseConstraints(LinkedHashMap<String, Object> childNodeMap, - JSONObject childObject) { - if (childNodeMap.containsKey(ToscaSchemaConstants.CONSTRAINTS) - && childNodeMap.get(ToscaSchemaConstants.CONSTRAINTS) != null) { - List<LinkedHashMap<String, Object>> constraintsList = - (List<LinkedHashMap<String, Object>>) childNodeMap - .get(ToscaSchemaConstants.CONSTRAINTS); - constraintsList.stream().forEach(c -> { - if (c instanceof Map) { - c.entrySet().stream().forEach(constraint -> { - if (constraint.getKey().equalsIgnoreCase(ToscaSchemaConstants.MIN_LENGTH) - || constraint.getKey() - .equalsIgnoreCase(ToscaSchemaConstants.GREATER_OR_EQUAL)) { - // For String min_lenghth is minimum length whereas for number, it will - // be - // minimum or greater than to the defined value - if (childNodeMap.containsKey(ToscaSchemaConstants.TYPE) - && (childNodeMap.get(ToscaSchemaConstants.TYPE) instanceof String) - && ((String) childNodeMap.get(ToscaSchemaConstants.TYPE)) - .equalsIgnoreCase(ToscaSchemaConstants.TYPE_STRING)) { - childObject.put(JsonEditorSchemaConstants.MIN_LENGTH, - constraint.getValue()); - } else { - childObject.put(JsonEditorSchemaConstants.MINIMUM, - constraint.getValue()); - } - } else if (constraint.getKey() - .equalsIgnoreCase(ToscaSchemaConstants.MAX_LENGTH) - || constraint.getKey() - .equalsIgnoreCase(ToscaSchemaConstants.LESS_OR_EQUAL)) { - // For String max_lenghth is maximum length whereas for number, it will - // be - // maximum or less than the defined value - if (childNodeMap.containsKey(ToscaSchemaConstants.TYPE) - && (childNodeMap.get(ToscaSchemaConstants.TYPE) instanceof String) - && ((String) childNodeMap.get(ToscaSchemaConstants.TYPE)) - .equalsIgnoreCase(ToscaSchemaConstants.TYPE_STRING)) { - childObject.put(JsonEditorSchemaConstants.MAX_LENGTH, - constraint.getValue()); - } else { - childObject.put(JsonEditorSchemaConstants.MAXIMUM, - constraint.getValue()); - } - } else if (constraint.getKey() - .equalsIgnoreCase(ToscaSchemaConstants.LESS_THAN)) { - childObject.put(JsonEditorSchemaConstants.EXCLUSIVE_MAXIMUM, - constraint.getValue()); - } else if (constraint.getKey() - .equalsIgnoreCase(ToscaSchemaConstants.GREATER_THAN)) { - childObject.put(JsonEditorSchemaConstants.EXCLUSIVE_MINIMUM, - constraint.getValue()); - } else if (constraint.getKey() - .equalsIgnoreCase(ToscaSchemaConstants.IN_RANGE)) { - if (constraint.getValue() instanceof ArrayList<?>) { - if (childNodeMap.containsKey(ToscaSchemaConstants.TYPE) - && (childNodeMap - .get(ToscaSchemaConstants.TYPE) instanceof String) - && ((String) childNodeMap.get(ToscaSchemaConstants.TYPE)) - .equalsIgnoreCase(ToscaSchemaConstants.TYPE_STRING)) { - childObject.put(JsonEditorSchemaConstants.MIN_LENGTH, - ((ArrayList) constraint.getValue()).get(0)); - childObject.put(JsonEditorSchemaConstants.MAX_LENGTH, - ((ArrayList) constraint.getValue()).get(1)); - } else { - childObject.put(JsonEditorSchemaConstants.MINIMUM, - ((ArrayList) constraint.getValue()).get(0)); - childObject.put(JsonEditorSchemaConstants.MAXIMUM, - ((ArrayList) constraint.getValue()).get(1)); - } - - } - } else if (constraint.getKey() - .equalsIgnoreCase(ToscaSchemaConstants.VALID_VALUES)) { - JSONArray validValuesArray = new JSONArray(); - - if (constraint.getValue() instanceof ArrayList<?>) { - boolean processDictionary = - ((ArrayList<?>) constraint.getValue()).stream().anyMatch( - value -> (value instanceof String && ((String) value) - .contains(ToscaSchemaConstants.DICTIONARY))); - if (!processDictionary) { - ((ArrayList<?>) constraint.getValue()).stream() - .forEach(value -> { - validValuesArray.put(value); - }); - childObject.put(JsonEditorSchemaConstants.ENUM, - validValuesArray); - } else { - ((ArrayList<?>) constraint.getValue()).stream() - .forEach(value -> { - if ((value instanceof String && ((String) value) - .contains(ToscaSchemaConstants.DICTIONARY))) { - processDictionaryElements(childObject, - (String) value); - } - - }); - - } - } - - } - }); - } - }); - } - } - - private void parseMetadataPossibleValues(LinkedHashMap<String, Object> childNodeMap, - JSONObject childObject) { - if (childNodeMap.containsKey(ToscaSchemaConstants.METADATA) - && childNodeMap.get(ToscaSchemaConstants.METADATA) != null) { - LinkedHashMap<String, Object> metadataMap = - (LinkedHashMap<String, Object>) childNodeMap.get(ToscaSchemaConstants.METADATA); - if (metadataMap instanceof Map) { - metadataMap.entrySet().stream().forEach(constraint -> { - if (constraint.getKey() - .equalsIgnoreCase(ToscaSchemaConstants.METADATA_CLAMP_POSSIBLE_VALUES)) { - JSONArray validValuesArray = new JSONArray(); - - if (constraint.getValue() instanceof ArrayList<?>) { - boolean processDictionary = ((ArrayList<?>) constraint.getValue()) - .stream().anyMatch(value -> (value instanceof String - && ((String) value).contains(ToscaSchemaConstants.DICTIONARY))); - if (processDictionary) { - ((ArrayList<?>) constraint.getValue()).stream().forEach(value -> { - if ((value instanceof String && ((String) value) - .contains(ToscaSchemaConstants.DICTIONARY))) { - processDictionaryElements(childObject, (String) value); - } - - }); - - } - } - - } - }); - } - } - } - - private void processDictionaryElements(JSONObject childObject, String dictionaryReference) { - if (dictionaryReference.contains("#")) { - String[] dictionaryKeyArray = dictionaryReference - .substring(dictionaryReference.indexOf(ToscaSchemaConstants.DICTIONARY) + 11, - dictionaryReference.length()) - .split("#"); - // We support only one # as of now. - List<DictionaryElement> cldsDictionaryElements = null; - List<DictionaryElement> subDictionaryElements = null; - if (dictionaryKeyArray != null && dictionaryKeyArray.length == 2) { - cldsDictionaryElements = dictionaryService.getDictionary(dictionaryKeyArray[0]) - .getDictionaryElements().stream().collect(Collectors.toList()); - subDictionaryElements = dictionaryService.getDictionary(dictionaryKeyArray[1]) - .getDictionaryElements().stream().collect(Collectors.toList()); - - if (cldsDictionaryElements != null) { - List<String> subCldsDictionaryNames = subDictionaryElements.stream() - .map(DictionaryElement::getShortName).collect(Collectors.toList()); - JSONArray jsonArray = new JSONArray(); - - Optional.ofNullable(cldsDictionaryElements).get().stream().forEach(c -> { - JSONObject jsonObject = new JSONObject(); - if (c.getSubDictionary() != null) { - Dictionary subDictionary = - dictionaryService.getDictionary(c.getSubDictionary()); - if (subDictionary != null - && !subDictionary.getDictionaryElements().isEmpty()) { - - jsonObject.put(JsonEditorSchemaConstants.CUSTOM_KEY_FORMAT_INPUT, - JsonEditorSchemaConstants.FORMAT_SELECT); - - List<String> shortNames = new ArrayList<>(); - subDictionary.getDictionaryElements().stream().forEach(c1 -> { - shortNames.add(c1.getShortName()); - }); - jsonObject.put(JsonEditorSchemaConstants.VALUES, shortNames); - } - } - jsonObject.put(JsonEditorSchemaConstants.TYPE, getJsonType(c.getType())); - - if (c.getType() != null - && (c.getType().equalsIgnoreCase(ToscaSchemaConstants.TYPE_STRING) - || c.getType().equalsIgnoreCase(ToscaSchemaConstants.TYPE_DATE_TIME) - || c.getType().equalsIgnoreCase(ToscaSchemaConstants.TYPE_MAP))) { - jsonObject.put(JsonEditorSchemaConstants.MIN_LENGTH, 1); - - if (c.getType().equalsIgnoreCase(ToscaSchemaConstants.TYPE_DATE_TIME)) { - jsonObject.put(JsonEditorSchemaConstants.PLUGIN, - JsonEditorSchemaConstants.DATE_TIME_PICKER); - jsonObject.put(JsonEditorSchemaConstants.INPUT_EVENT, - JsonEditorSchemaConstants.DP_CHANGE); - JSONObject formatJsonObject = new JSONObject(); - formatJsonObject.put(JsonEditorSchemaConstants.FORMAT, - JsonEditorSchemaConstants.DATE_TIME_FORMAT); - jsonObject.put(JsonEditorSchemaConstants.VALIDATION, - formatJsonObject); - } - } - - jsonObject.put(JsonEditorSchemaConstants.ID, c.getName()); - jsonObject.put(JsonEditorSchemaConstants.LABEL, c.getShortName()); - jsonObject.put(JsonEditorSchemaConstants.OPERATORS, subCldsDictionaryNames); - jsonArray.put(jsonObject); - });; - JSONObject filterObject = new JSONObject(); - filterObject.put(JsonEditorSchemaConstants.FILTERS, jsonArray); - - childObject.put(JsonEditorSchemaConstants.TYPE, - JsonEditorSchemaConstants.TYPE_QBLDR); - // TO invoke validation on such parameters - childObject.put(JsonEditorSchemaConstants.MIN_LENGTH, 1); - childObject.put(JsonEditorSchemaConstants.QSSCHEMA, filterObject); - - } - } - } else { - String dictionaryKey = dictionaryReference.substring( - dictionaryReference.indexOf(ToscaSchemaConstants.DICTIONARY) + 11, - dictionaryReference.length()); - - if (dictionaryKey != null) { - if (dictionaryKey.contains(ToscaSchemaConstants.TYPE_USER_DEFINED)) { - childObject.put(JsonEditorSchemaConstants.ENUM, new ArrayList<>()); - // Add Enum titles for generated translated values during - // JSON instance generation - JSONObject enumTitles = new JSONObject(); - enumTitles.put(JsonEditorSchemaConstants.ENUM_TITLES, new ArrayList<>()); - childObject.put(JsonEditorSchemaConstants.OPTIONS, enumTitles); - } else { - List<DictionaryElement> cldsDictionaryElements = - dictionaryService.getDictionary(dictionaryKey).getDictionaryElements() - .stream().collect(Collectors.toList()); - if (cldsDictionaryElements != null) { - List<String> cldsDictionaryNames = new ArrayList<>(); - List<String> cldsDictionaryFullNames = new ArrayList<>(); - cldsDictionaryElements.stream().forEach(c -> { - // Json type will be translated before Policy creation - if (c.getType() != null && !c.getType().equalsIgnoreCase("json")) { - cldsDictionaryFullNames.add(c.getName()); - } - cldsDictionaryNames.add(c.getShortName()); - }); - - if (!cldsDictionaryFullNames.isEmpty()) { - childObject.put(JsonEditorSchemaConstants.ENUM, - cldsDictionaryFullNames); - // Add Enum titles for generated translated values during JSON instance - // generation - JSONObject enumTitles = new JSONObject(); - enumTitles.put(JsonEditorSchemaConstants.ENUM_TITLES, - cldsDictionaryNames); - childObject.put(JsonEditorSchemaConstants.OPTIONS, enumTitles); - } else { - childObject.put(JsonEditorSchemaConstants.ENUM, cldsDictionaryNames); - } - - } - } - } - } - } - - private String getJsonType(String toscaType) { - String jsonType = null; - if (toscaType.equalsIgnoreCase(ToscaSchemaConstants.TYPE_INTEGER) - || toscaType.equalsIgnoreCase(ToscaSchemaConstants.TYPE_NUMBER)) { - jsonType = JsonEditorSchemaConstants.TYPE_INTEGER; - } else if (toscaType.equalsIgnoreCase(ToscaSchemaConstants.TYPE_DATE_TIME)) { - jsonType = JsonEditorSchemaConstants.TYPE_DATE_TIME; - } else if (toscaType.equalsIgnoreCase(ToscaSchemaConstants.TYPE_LIST)) { - jsonType = JsonEditorSchemaConstants.TYPE_ARRAY; - } else if (toscaType.equalsIgnoreCase(ToscaSchemaConstants.TYPE_MAP)) { - jsonType = JsonEditorSchemaConstants.TYPE_MAP; - } else { - jsonType = JsonEditorSchemaConstants.TYPE_STRING; - } - return jsonType; - } - -} diff --git a/src/main/java/org/onap/policy/clamp/clds/tosca/update/parser/metadata/ToscaMetadataParserWithDictionarySupport.java b/src/main/java/org/onap/policy/clamp/clds/tosca/update/parser/metadata/ToscaMetadataParserWithDictionarySupport.java index 049018ae0..4e55263fb 100644 --- a/src/main/java/org/onap/policy/clamp/clds/tosca/update/parser/metadata/ToscaMetadataParserWithDictionarySupport.java +++ b/src/main/java/org/onap/policy/clamp/clds/tosca/update/parser/metadata/ToscaMetadataParserWithDictionarySupport.java @@ -78,7 +78,7 @@ public class ToscaMetadataParserWithDictionarySupport implements ToscaMetadataPa processDictionaryElements(multipleValue, childObject, dictionaryService); } if (multipleValue.contains("ClampExecution:")) { - executeClampProcess(multipleValue.replaceAll("ClampExecution:", ""), childObject, + executeClampProcess(multipleValue.replaceFirst("ClampExecution:", ""), childObject, serviceModel, toscaMetadataExecutor); } } diff --git a/src/main/java/org/onap/policy/clamp/loop/template/PolicyModelsService.java b/src/main/java/org/onap/policy/clamp/loop/template/PolicyModelsService.java index fea58c552..2d31b3b10 100644 --- a/src/main/java/org/onap/policy/clamp/loop/template/PolicyModelsService.java +++ b/src/main/java/org/onap/policy/clamp/loop/template/PolicyModelsService.java @@ -24,16 +24,9 @@ package org.onap.policy.clamp.loop.template; import com.google.gson.JsonObject; -import java.util.ArrayList; -import java.util.Collections; import java.util.List; -import org.onap.policy.clamp.clds.tosca.ToscaSchemaConstants; -import org.onap.policy.clamp.clds.tosca.ToscaYamlToJsonConvertor; import org.onap.policy.clamp.clds.tosca.update.ToscaConverterWithDictionarySupport; -import org.onap.policy.clamp.clds.tosca.update.parser.ToscaConverterToJsonSchema; -import org.onap.policy.clamp.clds.util.JsonUtils; import org.onap.policy.clamp.policy.pdpgroup.PdpGroupsAnalyzer; -import org.onap.policy.clamp.util.SemanticVersioning; import org.onap.policy.models.pdp.concepts.PdpGroups; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -46,10 +39,6 @@ import org.springframework.transaction.annotation.Transactional; @Service public class PolicyModelsService { private final PolicyModelsRepository policyModelsRepository; - /** - * This variable is there to support legacy saving of the tosca from the clamp UI. - */ - private ToscaYamlToJsonConvertor toscaYamlToJsonConvertor; /** * This is the new tosca converter that must be used in clamp. @@ -58,10 +47,8 @@ public class PolicyModelsService { private ToscaConverterWithDictionarySupport toscaConverterWithDictionarySupport; @Autowired - public PolicyModelsService(PolicyModelsRepository policyModelrepo, - ToscaYamlToJsonConvertor convertor) { + public PolicyModelsService(PolicyModelsRepository policyModelrepo) { policyModelsRepository = policyModelrepo; - toscaYamlToJsonConvertor = convertor; } /** @@ -85,44 +72,6 @@ public class PolicyModelsService { } /** - * Creates or updates the Tosca Policy Model. - * - * @param policyModelTosca The Policymodel object - * @return The Policy Model created - */ - public PolicyModel createNewPolicyModelFromTosca(String policyModelTosca) { - JsonObject jsonObject = toscaYamlToJsonConvertor.validateAndConvertToJson(policyModelTosca); - String policyModelTypeFromTosca = toscaYamlToJsonConvertor.getValueFromMetadata(jsonObject, - ToscaSchemaConstants.METADATA_POLICY_MODEL_TYPE); - Iterable<PolicyModel> models = getAllPolicyModelsByType(policyModelTypeFromTosca); - Collections.sort((List<PolicyModel>) models); - PolicyModel newPolicyModel = new PolicyModel(policyModelTypeFromTosca, policyModelTosca, - SemanticVersioning.incrementMajorVersion(((ArrayList) models).isEmpty() ? null - : ((ArrayList<PolicyModel>) models).get(0).getVersion()), - toscaYamlToJsonConvertor.getValueFromMetadata(jsonObject, - ToscaSchemaConstants.METADATA_ACRONYM)); - return saveOrUpdatePolicyModel(newPolicyModel); - } - - /** - * Update an existing Tosca Policy Model. - * - * @param policyModelType The policy Model type in Tosca yaml - * @param policyModelVersion The policy Version to update - * @param policyModelTosca The Policy Model tosca - * @return The Policy Model updated - */ - public PolicyModel updatePolicyModelTosca(String policyModelType, String policyModelVersion, - String policyModelTosca) { - JsonObject jsonObject = toscaYamlToJsonConvertor.validateAndConvertToJson(policyModelTosca); - PolicyModel thePolicyModel = getPolicyModel(policyModelType, policyModelVersion); - thePolicyModel.setPolicyAcronym(toscaYamlToJsonConvertor.getValueFromMetadata(jsonObject, - ToscaSchemaConstants.METADATA_ACRONYM)); - thePolicyModel.setPolicyModelTosca(policyModelTosca); - return saveOrUpdatePolicyModel(thePolicyModel); - } - - /** * This method retrieves the tosca model and convert it to a Json schema. * That json schema is normally used by the UI. * diff --git a/src/main/resources/META-INF/resources/swagger.html b/src/main/resources/META-INF/resources/swagger.html index 267cb509b..feb3b6edb 100644 --- a/src/main/resources/META-INF/resources/swagger.html +++ b/src/main/resources/META-INF/resources/swagger.html @@ -444,31 +444,31 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </li> <li><a href="#_paths">2. Paths</a> <ul class="sectlevel2"> -<li><a href="#_verb194">2.1. GET /v1/healthcheck</a> +<li><a href="#_verb189">2.1. GET /v1/healthcheck</a> <ul class="sectlevel3"> <li><a href="#_responses">2.1.1. Responses</a></li> <li><a href="#_produces">2.1.2. Produces</a></li> </ul> </li> -<li><a href="#_verb195">2.2. GET /v1/user/getUser</a> +<li><a href="#_verb190">2.2. GET /v1/user/getUser</a> <ul class="sectlevel3"> <li><a href="#_responses_2">2.2.1. Responses</a></li> <li><a href="#_produces_2">2.2.2. Produces</a></li> </ul> </li> -<li><a href="#_verb193">2.3. GET /v2/clampInformation</a> +<li><a href="#_verb188">2.3. GET /v2/clampInformation</a> <ul class="sectlevel3"> <li><a href="#_responses_3">2.3.1. Responses</a></li> <li><a href="#_produces_3">2.3.2. Produces</a></li> </ul> </li> -<li><a href="#_verb177">2.4. GET /v2/dictionary</a> +<li><a href="#_verb173">2.4. GET /v2/dictionary</a> <ul class="sectlevel3"> <li><a href="#_responses_4">2.4.1. Responses</a></li> <li><a href="#_produces_4">2.4.2. Produces</a></li> </ul> </li> -<li><a href="#_verb180">2.5. PUT /v2/dictionary</a> +<li><a href="#_verb176">2.5. PUT /v2/dictionary</a> <ul class="sectlevel3"> <li><a href="#_parameters">2.5.1. Parameters</a></li> <li><a href="#_responses_5">2.5.2. Responses</a></li> @@ -476,20 +476,20 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b <li><a href="#_produces_5">2.5.4. Produces</a></li> </ul> </li> -<li><a href="#_verb178">2.6. GET /v2/dictionary/secondary/names</a> +<li><a href="#_verb174">2.6. GET /v2/dictionary/secondary/names</a> <ul class="sectlevel3"> <li><a href="#_responses_6">2.6.1. Responses</a></li> <li><a href="#_produces_6">2.6.2. Produces</a></li> </ul> </li> -<li><a href="#_verb179">2.7. GET /v2/dictionary/{dictionaryName}</a> +<li><a href="#_verb175">2.7. GET /v2/dictionary/{dictionaryName}</a> <ul class="sectlevel3"> <li><a href="#_parameters_2">2.7.1. Parameters</a></li> <li><a href="#_responses_7">2.7.2. Responses</a></li> <li><a href="#_produces_7">2.7.3. Produces</a></li> </ul> </li> -<li><a href="#_verb181">2.8. PUT /v2/dictionary/{name}</a> +<li><a href="#_verb177">2.8. PUT /v2/dictionary/{name}</a> <ul class="sectlevel3"> <li><a href="#_parameters_3">2.8.1. Parameters</a></li> <li><a href="#_responses_8">2.8.2. Responses</a></li> @@ -497,28 +497,28 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b <li><a href="#_produces_8">2.8.4. Produces</a></li> </ul> </li> -<li><a href="#_verb182">2.9. DELETE /v2/dictionary/{name}</a> +<li><a href="#_verb178">2.9. DELETE /v2/dictionary/{name}</a> <ul class="sectlevel3"> <li><a href="#_parameters_4">2.9.1. Parameters</a></li> <li><a href="#_responses_9">2.9.2. Responses</a></li> <li><a href="#_produces_9">2.9.3. Produces</a></li> </ul> </li> -<li><a href="#_verb183">2.10. DELETE /v2/dictionary/{name}/elements/{shortName}</a> +<li><a href="#_verb179">2.10. DELETE /v2/dictionary/{name}/elements/{shortName}</a> <ul class="sectlevel3"> <li><a href="#_parameters_5">2.10.1. Parameters</a></li> <li><a href="#_responses_10">2.10.2. Responses</a></li> <li><a href="#_produces_10">2.10.3. Produces</a></li> </ul> </li> -<li><a href="#_verb171">2.11. PUT /v2/loop/addOperationaPolicy/{loopName}/policyModel/{policyType}/{policyVersion}</a> +<li><a href="#_verb167">2.11. PUT /v2/loop/addOperationaPolicy/{loopName}/policyModel/{policyType}/{policyVersion}</a> <ul class="sectlevel3"> <li><a href="#_parameters_6">2.11.1. Parameters</a></li> <li><a href="#_responses_11">2.11.2. Responses</a></li> <li><a href="#_produces_11">2.11.3. Produces</a></li> </ul> </li> -<li><a href="#_verb173">2.12. POST /v2/loop/create/{loopName}?templateName={templateName}</a> +<li><a href="#_verb169">2.12. POST /v2/loop/create/{loopName}?templateName={templateName}</a> <ul class="sectlevel3"> <li><a href="#_parameters_7">2.12.1. Parameters</a></li> <li><a href="#_responses_12">2.12.2. Responses</a></li> @@ -526,82 +526,82 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b <li><a href="#_produces_12">2.12.4. Produces</a></li> </ul> </li> -<li><a href="#_verb169">2.13. PUT /v2/loop/delete/{loopName}</a> +<li><a href="#_verb165">2.13. PUT /v2/loop/delete/{loopName}</a> <ul class="sectlevel3"> <li><a href="#_parameters_8">2.13.1. Parameters</a></li> <li><a href="#_responses_13">2.13.2. Responses</a></li> </ul> </li> -<li><a href="#_verb162">2.14. PUT /v2/loop/deploy/{loopName}</a> +<li><a href="#_verb158">2.14. PUT /v2/loop/deploy/{loopName}</a> <ul class="sectlevel3"> <li><a href="#_parameters_9">2.14.1. Parameters</a></li> <li><a href="#_responses_14">2.14.2. Responses</a></li> <li><a href="#_produces_13">2.14.3. Produces</a></li> </ul> </li> -<li><a href="#_verb157">2.15. GET /v2/loop/getAllNames</a> +<li><a href="#_verb153">2.15. GET /v2/loop/getAllNames</a> <ul class="sectlevel3"> <li><a href="#_responses_15">2.15.1. Responses</a></li> <li><a href="#_produces_14">2.15.2. Produces</a></li> </ul> </li> -<li><a href="#_verb170">2.16. GET /v2/loop/getstatus/{loopName}</a> +<li><a href="#_verb166">2.16. GET /v2/loop/getstatus/{loopName}</a> <ul class="sectlevel3"> <li><a href="#_parameters_10">2.16.1. Parameters</a></li> <li><a href="#_responses_16">2.16.2. Responses</a></li> <li><a href="#_produces_15">2.16.3. Produces</a></li> </ul> </li> -<li><a href="#_verb163">2.17. PUT /v2/loop/refreshMicroServicePolicyJsonSchema/{loopName}/{microServicePolicyName}</a> +<li><a href="#_verb159">2.17. PUT /v2/loop/refreshMicroServicePolicyJsonSchema/{loopName}/{microServicePolicyName}</a> <ul class="sectlevel3"> <li><a href="#_parameters_11">2.17.1. Parameters</a></li> <li><a href="#_responses_17">2.17.2. Responses</a></li> <li><a href="#_produces_16">2.17.3. Produces</a></li> </ul> </li> -<li><a href="#_verb164">2.18. PUT /v2/loop/refreshOperationalPolicyJsonSchema/{loopName}/{operationalPolicyName}</a> +<li><a href="#_verb160">2.18. PUT /v2/loop/refreshOperationalPolicyJsonSchema/{loopName}/{operationalPolicyName}</a> <ul class="sectlevel3"> <li><a href="#_parameters_12">2.18.1. Parameters</a></li> <li><a href="#_responses_18">2.18.2. Responses</a></li> <li><a href="#_produces_17">2.18.3. Produces</a></li> </ul> </li> -<li><a href="#_verb172">2.19. PUT /v2/loop/removeOperationaPolicy/{loopName}/policyModel/{policyType}/{policyVersion}/{policyName}</a> +<li><a href="#_verb168">2.19. PUT /v2/loop/removeOperationaPolicy/{loopName}/policyModel/{policyType}/{policyVersion}/{policyName}</a> <ul class="sectlevel3"> <li><a href="#_parameters_13">2.19.1. Parameters</a></li> <li><a href="#_responses_19">2.19.2. Responses</a></li> <li><a href="#_produces_18">2.19.3. Produces</a></li> </ul> </li> -<li><a href="#_verb167">2.20. PUT /v2/loop/restart/{loopName}</a> +<li><a href="#_verb163">2.20. PUT /v2/loop/restart/{loopName}</a> <ul class="sectlevel3"> <li><a href="#_parameters_14">2.20.1. Parameters</a></li> <li><a href="#_responses_20">2.20.2. Responses</a></li> <li><a href="#_produces_19">2.20.3. Produces</a></li> </ul> </li> -<li><a href="#_verb166">2.21. PUT /v2/loop/stop/{loopName}</a> +<li><a href="#_verb162">2.21. PUT /v2/loop/stop/{loopName}</a> <ul class="sectlevel3"> <li><a href="#_parameters_15">2.21.1. Parameters</a></li> <li><a href="#_responses_21">2.21.2. Responses</a></li> <li><a href="#_produces_20">2.21.3. Produces</a></li> </ul> </li> -<li><a href="#_verb168">2.22. PUT /v2/loop/submit/{loopName}</a> +<li><a href="#_verb164">2.22. PUT /v2/loop/submit/{loopName}</a> <ul class="sectlevel3"> <li><a href="#_parameters_16">2.22.1. Parameters</a></li> <li><a href="#_responses_22">2.22.2. Responses</a></li> <li><a href="#_produces_21">2.22.3. Produces</a></li> </ul> </li> -<li><a href="#_verb165">2.23. PUT /v2/loop/undeploy/{loopName}</a> +<li><a href="#_verb161">2.23. PUT /v2/loop/undeploy/{loopName}</a> <ul class="sectlevel3"> <li><a href="#_parameters_17">2.23.1. Parameters</a></li> <li><a href="#_responses_23">2.23.2. Responses</a></li> <li><a href="#_produces_22">2.23.3. Produces</a></li> </ul> </li> -<li><a href="#_verb159">2.24. POST /v2/loop/updateGlobalProperties/{loopName}</a> +<li><a href="#_verb155">2.24. POST /v2/loop/updateGlobalProperties/{loopName}</a> <ul class="sectlevel3"> <li><a href="#_parameters_18">2.24.1. Parameters</a></li> <li><a href="#_responses_24">2.24.2. Responses</a></li> @@ -609,7 +609,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b <li><a href="#_produces_23">2.24.4. Produces</a></li> </ul> </li> -<li><a href="#_verb161">2.25. POST /v2/loop/updateMicroservicePolicy/{loopName}</a> +<li><a href="#_verb157">2.25. POST /v2/loop/updateMicroservicePolicy/{loopName}</a> <ul class="sectlevel3"> <li><a href="#_parameters_19">2.25.1. Parameters</a></li> <li><a href="#_responses_25">2.25.2. Responses</a></li> @@ -617,7 +617,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b <li><a href="#_produces_24">2.25.4. Produces</a></li> </ul> </li> -<li><a href="#_verb160">2.26. POST /v2/loop/updateOperationalPolicies/{loopName}</a> +<li><a href="#_verb156">2.26. POST /v2/loop/updateOperationalPolicies/{loopName}</a> <ul class="sectlevel3"> <li><a href="#_parameters_20">2.26.1. Parameters</a></li> <li><a href="#_responses_26">2.26.2. Responses</a></li> @@ -625,93 +625,84 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b <li><a href="#_produces_25">2.26.4. Produces</a></li> </ul> </li> -<li><a href="#_verb158">2.27. GET /v2/loop/{loopName}</a> +<li><a href="#_verb154">2.27. GET /v2/loop/{loopName}</a> <ul class="sectlevel3"> <li><a href="#_parameters_21">2.27.1. Parameters</a></li> <li><a href="#_responses_27">2.27.2. Responses</a></li> <li><a href="#_produces_26">2.27.3. Produces</a></li> </ul> </li> -<li><a href="#_verb189">2.28. GET /v2/policies</a> +<li><a href="#_verb183">2.28. GET /v2/policies</a> <ul class="sectlevel3"> <li><a href="#_responses_28">2.28.1. Responses</a></li> <li><a href="#_produces_27">2.28.2. Produces</a></li> </ul> </li> -<li><a href="#_verb192">2.29. PUT /v2/policies/pdpDeployment</a> +<li><a href="#_verb186">2.29. PUT /v2/policies/pdpDeployment</a> <ul class="sectlevel3"> <li><a href="#_parameters_22">2.29.1. Parameters</a></li> <li><a href="#_responses_29">2.29.2. Responses</a></li> <li><a href="#_consumes_7">2.29.3. Consumes</a></li> </ul> </li> -<li><a href="#_verb190">2.30. POST /v2/policies/{policyModelType}/{policyModelVersion}/{policyName}/{policyVersion}</a> +<li><a href="#_verb187">2.30. POST /v2/policies/policytype</a> <ul class="sectlevel3"> <li><a href="#_parameters_23">2.30.1. Parameters</a></li> <li><a href="#_responses_30">2.30.2. Responses</a></li> <li><a href="#_consumes_8">2.30.3. Consumes</a></li> -<li><a href="#_produces_28">2.30.4. Produces</a></li> </ul> </li> -<li><a href="#_verb191">2.31. DELETE /v2/policies/{policyModelType}/{policyModelVersion}/{policyName}/{policyVersion}</a> +<li><a href="#_verb184">2.31. POST /v2/policies/{policyModelType}/{policyModelVersion}/{policyName}/{policyVersion}</a> <ul class="sectlevel3"> <li><a href="#_parameters_24">2.31.1. Parameters</a></li> <li><a href="#_responses_31">2.31.2. Responses</a></li> +<li><a href="#_consumes_9">2.31.3. Consumes</a></li> +<li><a href="#_produces_28">2.31.4. Produces</a></li> </ul> </li> -<li><a href="#_verb187">2.32. POST /v2/policyToscaModels</a> +<li><a href="#_verb185">2.32. DELETE /v2/policies/{policyModelType}/{policyModelVersion}/{policyName}/{policyVersion}</a> <ul class="sectlevel3"> <li><a href="#_parameters_25">2.32.1. Parameters</a></li> <li><a href="#_responses_32">2.32.2. Responses</a></li> -<li><a href="#_consumes_9">2.32.3. Consumes</a></li> -<li><a href="#_produces_29">2.32.4. Produces</a></li> </ul> </li> -<li><a href="#_verb184">2.33. GET /v2/policyToscaModels</a> +<li><a href="#_verb180">2.33. GET /v2/policyToscaModels</a> <ul class="sectlevel3"> <li><a href="#_responses_33">2.33.1. Responses</a></li> -<li><a href="#_produces_30">2.33.2. Produces</a></li> +<li><a href="#_produces_29">2.33.2. Produces</a></li> </ul> </li> -<li><a href="#_verb186">2.34. GET /v2/policyToscaModels/yaml/{policyModelType}/{policyModelVersion}</a> +<li><a href="#_verb182">2.34. GET /v2/policyToscaModels/yaml/{policyModelType}/{policyModelVersion}</a> <ul class="sectlevel3"> <li><a href="#_parameters_26">2.34.1. Parameters</a></li> <li><a href="#_responses_34">2.34.2. Responses</a></li> -<li><a href="#_produces_31">2.34.3. Produces</a></li> +<li><a href="#_produces_30">2.34.3. Produces</a></li> </ul> </li> -<li><a href="#_verb185">2.35. GET /v2/policyToscaModels/{policyModelType}/{policyModelVersion}</a> +<li><a href="#_verb181">2.35. GET /v2/policyToscaModels/{policyModelType}/{policyModelVersion}</a> <ul class="sectlevel3"> <li><a href="#_parameters_27">2.35.1. Parameters</a></li> <li><a href="#_responses_35">2.35.2. Responses</a></li> -<li><a href="#_produces_32">2.35.3. Produces</a></li> +<li><a href="#_produces_31">2.35.3. Produces</a></li> </ul> </li> -<li><a href="#_verb188">2.36. PUT /v2/policyToscaModels/{policyModelType}/{policyModelVersion}</a> +<li><a href="#_verb170">2.36. GET /v2/templates</a> <ul class="sectlevel3"> -<li><a href="#_parameters_28">2.36.1. Parameters</a></li> -<li><a href="#_responses_36">2.36.2. Responses</a></li> -<li><a href="#_consumes_10">2.36.3. Consumes</a></li> -<li><a href="#_produces_33">2.36.4. Produces</a></li> +<li><a href="#_responses_36">2.36.1. Responses</a></li> +<li><a href="#_produces_32">2.36.2. Produces</a></li> </ul> </li> -<li><a href="#_verb174">2.37. GET /v2/templates</a> +<li><a href="#_verb172">2.37. GET /v2/templates/names</a> <ul class="sectlevel3"> <li><a href="#_responses_37">2.37.1. Responses</a></li> -<li><a href="#_produces_34">2.37.2. Produces</a></li> +<li><a href="#_produces_33">2.37.2. Produces</a></li> </ul> </li> -<li><a href="#_verb176">2.38. GET /v2/templates/names</a> +<li><a href="#_verb171">2.38. GET /v2/templates/{templateName}</a> <ul class="sectlevel3"> -<li><a href="#_responses_38">2.38.1. Responses</a></li> -<li><a href="#_produces_35">2.38.2. Produces</a></li> -</ul> -</li> -<li><a href="#_verb175">2.39. GET /v2/templates/{templateName}</a> -<ul class="sectlevel3"> -<li><a href="#_parameters_29">2.39.1. Parameters</a></li> -<li><a href="#_responses_39">2.39.2. Responses</a></li> -<li><a href="#_produces_36">2.39.3. Produces</a></li> +<li><a href="#_parameters_28">2.38.1. Parameters</a></li> +<li><a href="#_responses_38">2.38.2. Responses</a></li> +<li><a href="#_produces_34">2.38.3. Produces</a></li> </ul> </li> </ul> @@ -751,13 +742,13 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b <div class="sect2"> <h3 id="_version_information"><a class="anchor" href="#_version_information"></a><a class="link" href="#_version_information">1.1. Version information</a></h3> <div class="paragraph"> -<p><em>Version</em> : 6.1.0-SNAPSHOT</p> +<p><em>Version</em> : 6.1.1-SNAPSHOT</p> </div> </div> <div class="sect2"> <h3 id="_uri_scheme"><a class="anchor" href="#_uri_scheme"></a><a class="link" href="#_uri_scheme">1.2. URI scheme</a></h3> <div class="paragraph"> -<p><em>Host</em> : localhost:40069<br> +<p><em>Host</em> : localhost:37747<br> <em>BasePath</em> : /restservices/clds/<br> <em>Schemes</em> : HTTP</p> </div> @@ -768,7 +759,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b <h2 id="_paths"><a class="anchor" href="#_paths"></a><a class="link" href="#_paths">2. Paths</a></h2> <div class="sectionbody"> <div class="sect2"> -<h3 id="_verb194"><a class="anchor" href="#_verb194"></a><a class="link" href="#_verb194">2.1. GET /v1/healthcheck</a></h3> +<h3 id="_verb189"><a class="anchor" href="#_verb189"></a><a class="link" href="#_verb189">2.1. GET /v1/healthcheck</a></h3> <div class="sect3"> <h4 id="_responses"><a class="anchor" href="#_responses"></a><a class="link" href="#_responses">2.1.1. Responses</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -805,7 +796,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb195"><a class="anchor" href="#_verb195"></a><a class="link" href="#_verb195">2.2. GET /v1/user/getUser</a></h3> +<h3 id="_verb190"><a class="anchor" href="#_verb190"></a><a class="link" href="#_verb190">2.2. GET /v1/user/getUser</a></h3> <div class="sect3"> <h4 id="_responses_2"><a class="anchor" href="#_responses_2"></a><a class="link" href="#_responses_2">2.2.1. Responses</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -839,7 +830,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb193"><a class="anchor" href="#_verb193"></a><a class="link" href="#_verb193">2.3. GET /v2/clampInformation</a></h3> +<h3 id="_verb188"><a class="anchor" href="#_verb188"></a><a class="link" href="#_verb188">2.3. GET /v2/clampInformation</a></h3> <div class="sect3"> <h4 id="_responses_3"><a class="anchor" href="#_responses_3"></a><a class="link" href="#_responses_3">2.3.1. Responses</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -876,7 +867,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb177"><a class="anchor" href="#_verb177"></a><a class="link" href="#_verb177">2.4. GET /v2/dictionary</a></h3> +<h3 id="_verb173"><a class="anchor" href="#_verb173"></a><a class="link" href="#_verb173">2.4. GET /v2/dictionary</a></h3> <div class="sect3"> <h4 id="_responses_4"><a class="anchor" href="#_responses_4"></a><a class="link" href="#_responses_4">2.4.1. Responses</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -913,7 +904,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb180"><a class="anchor" href="#_verb180"></a><a class="link" href="#_verb180">2.5. PUT /v2/dictionary</a></h3> +<h3 id="_verb176"><a class="anchor" href="#_verb176"></a><a class="link" href="#_verb176">2.5. PUT /v2/dictionary</a></h3> <div class="sect3"> <h4 id="_parameters"><a class="anchor" href="#_parameters"></a><a class="link" href="#_parameters">2.5.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -985,7 +976,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb178"><a class="anchor" href="#_verb178"></a><a class="link" href="#_verb178">2.6. GET /v2/dictionary/secondary/names</a></h3> +<h3 id="_verb174"><a class="anchor" href="#_verb174"></a><a class="link" href="#_verb174">2.6. GET /v2/dictionary/secondary/names</a></h3> <div class="sect3"> <h4 id="_responses_6"><a class="anchor" href="#_responses_6"></a><a class="link" href="#_responses_6">2.6.1. Responses</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -1022,7 +1013,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb179"><a class="anchor" href="#_verb179"></a><a class="link" href="#_verb179">2.7. GET /v2/dictionary/{dictionaryName}</a></h3> +<h3 id="_verb175"><a class="anchor" href="#_verb175"></a><a class="link" href="#_verb175">2.7. GET /v2/dictionary/{dictionaryName}</a></h3> <div class="sect3"> <h4 id="_parameters_2"><a class="anchor" href="#_parameters_2"></a><a class="link" href="#_parameters_2">2.7.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -1084,7 +1075,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb181"><a class="anchor" href="#_verb181"></a><a class="link" href="#_verb181">2.8. PUT /v2/dictionary/{name}</a></h3> +<h3 id="_verb177"><a class="anchor" href="#_verb177"></a><a class="link" href="#_verb177">2.8. PUT /v2/dictionary/{name}</a></h3> <div class="sect3"> <h4 id="_parameters_3"><a class="anchor" href="#_parameters_3"></a><a class="link" href="#_parameters_3">2.8.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -1162,7 +1153,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb182"><a class="anchor" href="#_verb182"></a><a class="link" href="#_verb182">2.9. DELETE /v2/dictionary/{name}</a></h3> +<h3 id="_verb178"><a class="anchor" href="#_verb178"></a><a class="link" href="#_verb178">2.9. DELETE /v2/dictionary/{name}</a></h3> <div class="sect3"> <h4 id="_parameters_4"><a class="anchor" href="#_parameters_4"></a><a class="link" href="#_parameters_4">2.9.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -1221,7 +1212,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb183"><a class="anchor" href="#_verb183"></a><a class="link" href="#_verb183">2.10. DELETE /v2/dictionary/{name}/elements/{shortName}</a></h3> +<h3 id="_verb179"><a class="anchor" href="#_verb179"></a><a class="link" href="#_verb179">2.10. DELETE /v2/dictionary/{name}/elements/{shortName}</a></h3> <div class="sect3"> <h4 id="_parameters_5"><a class="anchor" href="#_parameters_5"></a><a class="link" href="#_parameters_5">2.10.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -1286,7 +1277,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb171"><a class="anchor" href="#_verb171"></a><a class="link" href="#_verb171">2.11. PUT /v2/loop/addOperationaPolicy/{loopName}/policyModel/{policyType}/{policyVersion}</a></h3> +<h3 id="_verb167"><a class="anchor" href="#_verb167"></a><a class="link" href="#_verb167">2.11. PUT /v2/loop/addOperationaPolicy/{loopName}/policyModel/{policyType}/{policyVersion}</a></h3> <div class="sect3"> <h4 id="_parameters_6"><a class="anchor" href="#_parameters_6"></a><a class="link" href="#_parameters_6">2.11.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -1360,7 +1351,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb173"><a class="anchor" href="#_verb173"></a><a class="link" href="#_verb173">2.12. POST /v2/loop/create/{loopName}?templateName={templateName}</a></h3> +<h3 id="_verb169"><a class="anchor" href="#_verb169"></a><a class="link" href="#_verb169">2.12. POST /v2/loop/create/{loopName}?templateName={templateName}</a></h3> <div class="sect3"> <h4 id="_parameters_7"><a class="anchor" href="#_parameters_7"></a><a class="link" href="#_parameters_7">2.12.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -1438,7 +1429,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb169"><a class="anchor" href="#_verb169"></a><a class="link" href="#_verb169">2.13. PUT /v2/loop/delete/{loopName}</a></h3> +<h3 id="_verb165"><a class="anchor" href="#_verb165"></a><a class="link" href="#_verb165">2.13. PUT /v2/loop/delete/{loopName}</a></h3> <div class="sect3"> <h4 id="_parameters_8"><a class="anchor" href="#_parameters_8"></a><a class="link" href="#_parameters_8">2.13.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -1487,7 +1478,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb162"><a class="anchor" href="#_verb162"></a><a class="link" href="#_verb162">2.14. PUT /v2/loop/deploy/{loopName}</a></h3> +<h3 id="_verb158"><a class="anchor" href="#_verb158"></a><a class="link" href="#_verb158">2.14. PUT /v2/loop/deploy/{loopName}</a></h3> <div class="sect3"> <h4 id="_parameters_9"><a class="anchor" href="#_parameters_9"></a><a class="link" href="#_parameters_9">2.14.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -1549,7 +1540,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb157"><a class="anchor" href="#_verb157"></a><a class="link" href="#_verb157">2.15. GET /v2/loop/getAllNames</a></h3> +<h3 id="_verb153"><a class="anchor" href="#_verb153"></a><a class="link" href="#_verb153">2.15. GET /v2/loop/getAllNames</a></h3> <div class="sect3"> <h4 id="_responses_15"><a class="anchor" href="#_responses_15"></a><a class="link" href="#_responses_15">2.15.1. Responses</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -1586,7 +1577,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb170"><a class="anchor" href="#_verb170"></a><a class="link" href="#_verb170">2.16. GET /v2/loop/getstatus/{loopName}</a></h3> +<h3 id="_verb166"><a class="anchor" href="#_verb166"></a><a class="link" href="#_verb166">2.16. GET /v2/loop/getstatus/{loopName}</a></h3> <div class="sect3"> <h4 id="_parameters_10"><a class="anchor" href="#_parameters_10"></a><a class="link" href="#_parameters_10">2.16.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -1648,7 +1639,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb163"><a class="anchor" href="#_verb163"></a><a class="link" href="#_verb163">2.17. PUT /v2/loop/refreshMicroServicePolicyJsonSchema/{loopName}/{microServicePolicyName}</a></h3> +<h3 id="_verb159"><a class="anchor" href="#_verb159"></a><a class="link" href="#_verb159">2.17. PUT /v2/loop/refreshMicroServicePolicyJsonSchema/{loopName}/{microServicePolicyName}</a></h3> <div class="sect3"> <h4 id="_parameters_11"><a class="anchor" href="#_parameters_11"></a><a class="link" href="#_parameters_11">2.17.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -1716,7 +1707,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb164"><a class="anchor" href="#_verb164"></a><a class="link" href="#_verb164">2.18. PUT /v2/loop/refreshOperationalPolicyJsonSchema/{loopName}/{operationalPolicyName}</a></h3> +<h3 id="_verb160"><a class="anchor" href="#_verb160"></a><a class="link" href="#_verb160">2.18. PUT /v2/loop/refreshOperationalPolicyJsonSchema/{loopName}/{operationalPolicyName}</a></h3> <div class="sect3"> <h4 id="_parameters_12"><a class="anchor" href="#_parameters_12"></a><a class="link" href="#_parameters_12">2.18.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -1784,7 +1775,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb172"><a class="anchor" href="#_verb172"></a><a class="link" href="#_verb172">2.19. PUT /v2/loop/removeOperationaPolicy/{loopName}/policyModel/{policyType}/{policyVersion}/{policyName}</a></h3> +<h3 id="_verb168"><a class="anchor" href="#_verb168"></a><a class="link" href="#_verb168">2.19. PUT /v2/loop/removeOperationaPolicy/{loopName}/policyModel/{policyType}/{policyVersion}/{policyName}</a></h3> <div class="sect3"> <h4 id="_parameters_13"><a class="anchor" href="#_parameters_13"></a><a class="link" href="#_parameters_13">2.19.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -1864,7 +1855,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb167"><a class="anchor" href="#_verb167"></a><a class="link" href="#_verb167">2.20. PUT /v2/loop/restart/{loopName}</a></h3> +<h3 id="_verb163"><a class="anchor" href="#_verb163"></a><a class="link" href="#_verb163">2.20. PUT /v2/loop/restart/{loopName}</a></h3> <div class="sect3"> <h4 id="_parameters_14"><a class="anchor" href="#_parameters_14"></a><a class="link" href="#_parameters_14">2.20.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -1926,7 +1917,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb166"><a class="anchor" href="#_verb166"></a><a class="link" href="#_verb166">2.21. PUT /v2/loop/stop/{loopName}</a></h3> +<h3 id="_verb162"><a class="anchor" href="#_verb162"></a><a class="link" href="#_verb162">2.21. PUT /v2/loop/stop/{loopName}</a></h3> <div class="sect3"> <h4 id="_parameters_15"><a class="anchor" href="#_parameters_15"></a><a class="link" href="#_parameters_15">2.21.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -1988,7 +1979,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb168"><a class="anchor" href="#_verb168"></a><a class="link" href="#_verb168">2.22. PUT /v2/loop/submit/{loopName}</a></h3> +<h3 id="_verb164"><a class="anchor" href="#_verb164"></a><a class="link" href="#_verb164">2.22. PUT /v2/loop/submit/{loopName}</a></h3> <div class="sect3"> <h4 id="_parameters_16"><a class="anchor" href="#_parameters_16"></a><a class="link" href="#_parameters_16">2.22.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -2050,7 +2041,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb165"><a class="anchor" href="#_verb165"></a><a class="link" href="#_verb165">2.23. PUT /v2/loop/undeploy/{loopName}</a></h3> +<h3 id="_verb161"><a class="anchor" href="#_verb161"></a><a class="link" href="#_verb161">2.23. PUT /v2/loop/undeploy/{loopName}</a></h3> <div class="sect3"> <h4 id="_parameters_17"><a class="anchor" href="#_parameters_17"></a><a class="link" href="#_parameters_17">2.23.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -2112,7 +2103,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb159"><a class="anchor" href="#_verb159"></a><a class="link" href="#_verb159">2.24. POST /v2/loop/updateGlobalProperties/{loopName}</a></h3> +<h3 id="_verb155"><a class="anchor" href="#_verb155"></a><a class="link" href="#_verb155">2.24. POST /v2/loop/updateGlobalProperties/{loopName}</a></h3> <div class="sect3"> <h4 id="_parameters_18"><a class="anchor" href="#_parameters_18"></a><a class="link" href="#_parameters_18">2.24.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -2190,7 +2181,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb161"><a class="anchor" href="#_verb161"></a><a class="link" href="#_verb161">2.25. POST /v2/loop/updateMicroservicePolicy/{loopName}</a></h3> +<h3 id="_verb157"><a class="anchor" href="#_verb157"></a><a class="link" href="#_verb157">2.25. POST /v2/loop/updateMicroservicePolicy/{loopName}</a></h3> <div class="sect3"> <h4 id="_parameters_19"><a class="anchor" href="#_parameters_19"></a><a class="link" href="#_parameters_19">2.25.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -2268,7 +2259,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb160"><a class="anchor" href="#_verb160"></a><a class="link" href="#_verb160">2.26. POST /v2/loop/updateOperationalPolicies/{loopName}</a></h3> +<h3 id="_verb156"><a class="anchor" href="#_verb156"></a><a class="link" href="#_verb156">2.26. POST /v2/loop/updateOperationalPolicies/{loopName}</a></h3> <div class="sect3"> <h4 id="_parameters_20"><a class="anchor" href="#_parameters_20"></a><a class="link" href="#_parameters_20">2.26.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -2346,7 +2337,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb158"><a class="anchor" href="#_verb158"></a><a class="link" href="#_verb158">2.27. GET /v2/loop/{loopName}</a></h3> +<h3 id="_verb154"><a class="anchor" href="#_verb154"></a><a class="link" href="#_verb154">2.27. GET /v2/loop/{loopName}</a></h3> <div class="sect3"> <h4 id="_parameters_21"><a class="anchor" href="#_parameters_21"></a><a class="link" href="#_parameters_21">2.27.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -2408,7 +2399,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb189"><a class="anchor" href="#_verb189"></a><a class="link" href="#_verb189">2.28. GET /v2/policies</a></h3> +<h3 id="_verb183"><a class="anchor" href="#_verb183"></a><a class="link" href="#_verb183">2.28. GET /v2/policies</a></h3> <div class="sect3"> <h4 id="_responses_28"><a class="anchor" href="#_responses_28"></a><a class="link" href="#_responses_28">2.28.1. Responses</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -2445,7 +2436,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb192"><a class="anchor" href="#_verb192"></a><a class="link" href="#_verb192">2.29. PUT /v2/policies/pdpDeployment</a></h3> +<h3 id="_verb186"><a class="anchor" href="#_verb186"></a><a class="link" href="#_verb186">2.29. PUT /v2/policies/pdpDeployment</a></h3> <div class="sect3"> <h4 id="_parameters_22"><a class="anchor" href="#_parameters_22"></a><a class="link" href="#_parameters_22">2.29.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -2504,7 +2495,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb190"><a class="anchor" href="#_verb190"></a><a class="link" href="#_verb190">2.30. POST /v2/policies/{policyModelType}/{policyModelVersion}/{policyName}/{policyVersion}</a></h3> +<h3 id="_verb187"><a class="anchor" href="#_verb187"></a><a class="link" href="#_verb187">2.30. POST /v2/policies/policytype</a></h3> <div class="sect3"> <h4 id="_parameters_23"><a class="anchor" href="#_parameters_23"></a><a class="link" href="#_parameters_23">2.30.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -2522,34 +2513,10 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </thead> <tbody> <tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Path</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>policyModelType</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Path</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>policyModelVersion</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Path</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>policyName</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Path</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>policyVersion</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> -<tr> <td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Body</strong></p></td> <td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>body</strong><br> <em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_jsonelement">JsonElement</a></p></td> +<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> </tr> </tbody> </table> @@ -2558,22 +2525,19 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b <h4 id="_responses_30"><a class="anchor" href="#_responses_30"></a><a class="link" href="#_responses_30">2.30.2. Responses</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> -<col style="width: 10%;"> -<col style="width: 70%;"> -<col style="width: 20%;"> +<col style="width: 33.3333%;"> +<col style="width: 66.6667%;"> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Description</th> <th class="tableblock halign-left valign-middle">Schema</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>200</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Output type</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_jsonobject">JsonObject</a></p></td> +<td class="tableblock halign-left valign-middle"><p class="tableblock">No Content</p></td> </tr> </tbody> </table> @@ -2583,24 +2547,14 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b <div class="ulist"> <ul> <li> -<p><code>application/json</code></p> -</li> -</ul> -</div> -</div> -<div class="sect3"> -<h4 id="_produces_28"><a class="anchor" href="#_produces_28"></a><a class="link" href="#_produces_28">2.30.4. Produces</a></h4> -<div class="ulist"> -<ul> -<li> -<p><code>application/json</code></p> +<p><code>plain/text</code></p> </li> </ul> </div> </div> </div> <div class="sect2"> -<h3 id="_verb191"><a class="anchor" href="#_verb191"></a><a class="link" href="#_verb191">2.31. DELETE /v2/policies/{policyModelType}/{policyModelVersion}/{policyName}/{policyVersion}</a></h3> +<h3 id="_verb184"><a class="anchor" href="#_verb184"></a><a class="link" href="#_verb184">2.31. POST /v2/policies/{policyModelType}/{policyModelVersion}/{policyName}/{policyVersion}</a></h3> <div class="sect3"> <h4 id="_parameters_24"><a class="anchor" href="#_parameters_24"></a><a class="link" href="#_parameters_24">2.31.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> @@ -2641,60 +2595,17 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b <em>required</em></p></td> <td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> </tr> -</tbody> -</table> -</div> -<div class="sect3"> -<h4 id="_responses_31"><a class="anchor" href="#_responses_31"></a><a class="link" href="#_responses_31">2.31.2. Responses</a></h4> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 33.3333%;"> -<col style="width: 66.6667%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>200</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">No Content</p></td> -</tr> -</tbody> -</table> -</div> -</div> -<div class="sect2"> -<h3 id="_verb187"><a class="anchor" href="#_verb187"></a><a class="link" href="#_verb187">2.32. POST /v2/policyToscaModels</a></h3> -<div class="sect3"> -<h4 id="_parameters_25"><a class="anchor" href="#_parameters_25"></a><a class="link" href="#_parameters_25">2.32.1. Parameters</a></h4> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 22.2222%;"> -<col style="width: 33.3333%;"> -<col style="width: 44.4445%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">Type</th> -<th class="tableblock halign-left valign-middle">Name</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> <tr> <td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Body</strong></p></td> <td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>body</strong><br> <em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> +<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_jsonelement">JsonElement</a></p></td> </tr> </tbody> </table> </div> <div class="sect3"> -<h4 id="_responses_32"><a class="anchor" href="#_responses_32"></a><a class="link" href="#_responses_32">2.32.2. Responses</a></h4> +<h4 id="_responses_31"><a class="anchor" href="#_responses_31"></a><a class="link" href="#_responses_31">2.31.2. Responses</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 10%;"> @@ -2712,23 +2623,13 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b <tr> <td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>200</strong></p></td> <td class="tableblock halign-left valign-middle"><p class="tableblock">Output type</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_policymodel">PolicyModel</a></p></td> +<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_jsonobject">JsonObject</a></p></td> </tr> </tbody> </table> </div> <div class="sect3"> -<h4 id="_consumes_9"><a class="anchor" href="#_consumes_9"></a><a class="link" href="#_consumes_9">2.32.3. Consumes</a></h4> -<div class="ulist"> -<ul> -<li> -<p><code>plain/text</code></p> -</li> -</ul> -</div> -</div> -<div class="sect3"> -<h4 id="_produces_29"><a class="anchor" href="#_produces_29"></a><a class="link" href="#_produces_29">2.32.4. Produces</a></h4> +<h4 id="_consumes_9"><a class="anchor" href="#_consumes_9"></a><a class="link" href="#_consumes_9">2.31.3. Consumes</a></h4> <div class="ulist"> <ul> <li> @@ -2737,35 +2638,8 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </ul> </div> </div> -</div> -<div class="sect2"> -<h3 id="_verb184"><a class="anchor" href="#_verb184"></a><a class="link" href="#_verb184">2.33. GET /v2/policyToscaModels</a></h3> -<div class="sect3"> -<h4 id="_responses_33"><a class="anchor" href="#_responses_33"></a><a class="link" href="#_responses_33">2.33.1. Responses</a></h4> -<table class="tableblock frame-all grid-all stretch"> -<colgroup> -<col style="width: 10%;"> -<col style="width: 70%;"> -<col style="width: 20%;"> -</colgroup> -<thead> -<tr> -<th class="tableblock halign-left valign-middle">HTTP Code</th> -<th class="tableblock halign-left valign-middle">Description</th> -<th class="tableblock halign-left valign-middle">Schema</th> -</tr> -</thead> -<tbody> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>200</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">Output type</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_policymodel">PolicyModel</a></p></td> -</tr> -</tbody> -</table> -</div> <div class="sect3"> -<h4 id="_produces_30"><a class="anchor" href="#_produces_30"></a><a class="link" href="#_produces_30">2.33.2. Produces</a></h4> +<h4 id="_produces_28"><a class="anchor" href="#_produces_28"></a><a class="link" href="#_produces_28">2.31.4. Produces</a></h4> <div class="ulist"> <ul> <li> @@ -2776,9 +2650,9 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb186"><a class="anchor" href="#_verb186"></a><a class="link" href="#_verb186">2.34. GET /v2/policyToscaModels/yaml/{policyModelType}/{policyModelVersion}</a></h3> +<h3 id="_verb185"><a class="anchor" href="#_verb185"></a><a class="link" href="#_verb185">2.32. DELETE /v2/policies/{policyModelType}/{policyModelVersion}/{policyName}/{policyVersion}</a></h3> <div class="sect3"> -<h4 id="_parameters_26"><a class="anchor" href="#_parameters_26"></a><a class="link" href="#_parameters_26">2.34.1. Parameters</a></h4> +<h4 id="_parameters_25"><a class="anchor" href="#_parameters_25"></a><a class="link" href="#_parameters_25">2.32.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 22.2222%;"> @@ -2805,11 +2679,47 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b <em>required</em></p></td> <td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> </tr> +<tr> +<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Path</strong></p></td> +<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>policyName</strong><br> +<em>required</em></p></td> +<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Path</strong></p></td> +<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>policyVersion</strong><br> +<em>required</em></p></td> +<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> +</tr> </tbody> </table> </div> <div class="sect3"> -<h4 id="_responses_34"><a class="anchor" href="#_responses_34"></a><a class="link" href="#_responses_34">2.34.2. Responses</a></h4> +<h4 id="_responses_32"><a class="anchor" href="#_responses_32"></a><a class="link" href="#_responses_32">2.32.2. Responses</a></h4> +<table class="tableblock frame-all grid-all stretch"> +<colgroup> +<col style="width: 33.3333%;"> +<col style="width: 66.6667%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-middle">HTTP Code</th> +<th class="tableblock halign-left valign-middle">Schema</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>200</strong></p></td> +<td class="tableblock halign-left valign-middle"><p class="tableblock">No Content</p></td> +</tr> +</tbody> +</table> +</div> +</div> +<div class="sect2"> +<h3 id="_verb180"><a class="anchor" href="#_verb180"></a><a class="link" href="#_verb180">2.33. GET /v2/policyToscaModels</a></h3> +<div class="sect3"> +<h4 id="_responses_33"><a class="anchor" href="#_responses_33"></a><a class="link" href="#_responses_33">2.33.1. Responses</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 10%;"> @@ -2827,13 +2737,13 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b <tr> <td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>200</strong></p></td> <td class="tableblock halign-left valign-middle"><p class="tableblock">Output type</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> +<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_policymodel">PolicyModel</a></p></td> </tr> </tbody> </table> </div> <div class="sect3"> -<h4 id="_produces_31"><a class="anchor" href="#_produces_31"></a><a class="link" href="#_produces_31">2.34.3. Produces</a></h4> +<h4 id="_produces_29"><a class="anchor" href="#_produces_29"></a><a class="link" href="#_produces_29">2.33.2. Produces</a></h4> <div class="ulist"> <ul> <li> @@ -2844,9 +2754,9 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb185"><a class="anchor" href="#_verb185"></a><a class="link" href="#_verb185">2.35. GET /v2/policyToscaModels/{policyModelType}/{policyModelVersion}</a></h3> +<h3 id="_verb182"><a class="anchor" href="#_verb182"></a><a class="link" href="#_verb182">2.34. GET /v2/policyToscaModels/yaml/{policyModelType}/{policyModelVersion}</a></h3> <div class="sect3"> -<h4 id="_parameters_27"><a class="anchor" href="#_parameters_27"></a><a class="link" href="#_parameters_27">2.35.1. Parameters</a></h4> +<h4 id="_parameters_26"><a class="anchor" href="#_parameters_26"></a><a class="link" href="#_parameters_26">2.34.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 22.2222%;"> @@ -2877,7 +2787,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </table> </div> <div class="sect3"> -<h4 id="_responses_35"><a class="anchor" href="#_responses_35"></a><a class="link" href="#_responses_35">2.35.2. Responses</a></h4> +<h4 id="_responses_34"><a class="anchor" href="#_responses_34"></a><a class="link" href="#_responses_34">2.34.2. Responses</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 10%;"> @@ -2895,13 +2805,13 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b <tr> <td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>200</strong></p></td> <td class="tableblock halign-left valign-middle"><p class="tableblock">Output type</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_jsonobject">JsonObject</a></p></td> +<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> </tr> </tbody> </table> </div> <div class="sect3"> -<h4 id="_produces_32"><a class="anchor" href="#_produces_32"></a><a class="link" href="#_produces_32">2.35.3. Produces</a></h4> +<h4 id="_produces_30"><a class="anchor" href="#_produces_30"></a><a class="link" href="#_produces_30">2.34.3. Produces</a></h4> <div class="ulist"> <ul> <li> @@ -2912,9 +2822,9 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb188"><a class="anchor" href="#_verb188"></a><a class="link" href="#_verb188">2.36. PUT /v2/policyToscaModels/{policyModelType}/{policyModelVersion}</a></h3> +<h3 id="_verb181"><a class="anchor" href="#_verb181"></a><a class="link" href="#_verb181">2.35. GET /v2/policyToscaModels/{policyModelType}/{policyModelVersion}</a></h3> <div class="sect3"> -<h4 id="_parameters_28"><a class="anchor" href="#_parameters_28"></a><a class="link" href="#_parameters_28">2.36.1. Parameters</a></h4> +<h4 id="_parameters_27"><a class="anchor" href="#_parameters_27"></a><a class="link" href="#_parameters_27">2.35.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 22.2222%;"> @@ -2941,17 +2851,11 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b <em>required</em></p></td> <td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> </tr> -<tr> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>Body</strong></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>body</strong><br> -<em>required</em></p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td> -</tr> </tbody> </table> </div> <div class="sect3"> -<h4 id="_responses_36"><a class="anchor" href="#_responses_36"></a><a class="link" href="#_responses_36">2.36.2. Responses</a></h4> +<h4 id="_responses_35"><a class="anchor" href="#_responses_35"></a><a class="link" href="#_responses_35">2.35.2. Responses</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 10%;"> @@ -2969,23 +2873,13 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b <tr> <td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>200</strong></p></td> <td class="tableblock halign-left valign-middle"><p class="tableblock">Output type</p></td> -<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_policymodel">PolicyModel</a></p></td> +<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_jsonobject">JsonObject</a></p></td> </tr> </tbody> </table> </div> <div class="sect3"> -<h4 id="_consumes_10"><a class="anchor" href="#_consumes_10"></a><a class="link" href="#_consumes_10">2.36.3. Consumes</a></h4> -<div class="ulist"> -<ul> -<li> -<p><code>plain/text</code></p> -</li> -</ul> -</div> -</div> -<div class="sect3"> -<h4 id="_produces_33"><a class="anchor" href="#_produces_33"></a><a class="link" href="#_produces_33">2.36.4. Produces</a></h4> +<h4 id="_produces_31"><a class="anchor" href="#_produces_31"></a><a class="link" href="#_produces_31">2.35.3. Produces</a></h4> <div class="ulist"> <ul> <li> @@ -2996,9 +2890,9 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb174"><a class="anchor" href="#_verb174"></a><a class="link" href="#_verb174">2.37. GET /v2/templates</a></h3> +<h3 id="_verb170"><a class="anchor" href="#_verb170"></a><a class="link" href="#_verb170">2.36. GET /v2/templates</a></h3> <div class="sect3"> -<h4 id="_responses_37"><a class="anchor" href="#_responses_37"></a><a class="link" href="#_responses_37">2.37.1. Responses</a></h4> +<h4 id="_responses_36"><a class="anchor" href="#_responses_36"></a><a class="link" href="#_responses_36">2.36.1. Responses</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 10%;"> @@ -3022,7 +2916,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </table> </div> <div class="sect3"> -<h4 id="_produces_34"><a class="anchor" href="#_produces_34"></a><a class="link" href="#_produces_34">2.37.2. Produces</a></h4> +<h4 id="_produces_32"><a class="anchor" href="#_produces_32"></a><a class="link" href="#_produces_32">2.36.2. Produces</a></h4> <div class="ulist"> <ul> <li> @@ -3033,9 +2927,9 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb176"><a class="anchor" href="#_verb176"></a><a class="link" href="#_verb176">2.38. GET /v2/templates/names</a></h3> +<h3 id="_verb172"><a class="anchor" href="#_verb172"></a><a class="link" href="#_verb172">2.37. GET /v2/templates/names</a></h3> <div class="sect3"> -<h4 id="_responses_38"><a class="anchor" href="#_responses_38"></a><a class="link" href="#_responses_38">2.38.1. Responses</a></h4> +<h4 id="_responses_37"><a class="anchor" href="#_responses_37"></a><a class="link" href="#_responses_37">2.37.1. Responses</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 10%;"> @@ -3059,7 +2953,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </table> </div> <div class="sect3"> -<h4 id="_produces_35"><a class="anchor" href="#_produces_35"></a><a class="link" href="#_produces_35">2.38.2. Produces</a></h4> +<h4 id="_produces_33"><a class="anchor" href="#_produces_33"></a><a class="link" href="#_produces_33">2.37.2. Produces</a></h4> <div class="ulist"> <ul> <li> @@ -3070,9 +2964,9 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </div> </div> <div class="sect2"> -<h3 id="_verb175"><a class="anchor" href="#_verb175"></a><a class="link" href="#_verb175">2.39. GET /v2/templates/{templateName}</a></h3> +<h3 id="_verb171"><a class="anchor" href="#_verb171"></a><a class="link" href="#_verb171">2.38. GET /v2/templates/{templateName}</a></h3> <div class="sect3"> -<h4 id="_parameters_29"><a class="anchor" href="#_parameters_29"></a><a class="link" href="#_parameters_29">2.39.1. Parameters</a></h4> +<h4 id="_parameters_28"><a class="anchor" href="#_parameters_28"></a><a class="link" href="#_parameters_28">2.38.1. Parameters</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 22.2222%;"> @@ -3097,7 +2991,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </table> </div> <div class="sect3"> -<h4 id="_responses_39"><a class="anchor" href="#_responses_39"></a><a class="link" href="#_responses_39">2.39.2. Responses</a></h4> +<h4 id="_responses_38"><a class="anchor" href="#_responses_38"></a><a class="link" href="#_responses_38">2.38.2. Responses</a></h4> <table class="tableblock frame-all grid-all stretch"> <colgroup> <col style="width: 10%;"> @@ -3121,7 +3015,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b </table> </div> <div class="sect3"> -<h4 id="_produces_36"><a class="anchor" href="#_produces_36"></a><a class="link" href="#_produces_36">2.39.3. Produces</a></h4> +<h4 id="_produces_34"><a class="anchor" href="#_produces_34"></a><a class="link" href="#_produces_34">2.38.3. Produces</a></h4> <div class="ulist"> <ul> <li> diff --git a/src/main/resources/clds/camel/rest/clamp-api-v2.xml b/src/main/resources/clds/camel/rest/clamp-api-v2.xml index c789735d2..4659a90bf 100644 --- a/src/main/resources/clds/camel/rest/clamp-api-v2.xml +++ b/src/main/resources/clds/camel/rest/clamp-api-v2.xml @@ -1232,82 +1232,6 @@ </route> </get> - <post uri="/v2/policyToscaModels" - type="java.lang.String" - outType="org.onap.policy.clamp.loop.template.PolicyModel" - consumes="plain/text" produces="application/json"> - <route> - <removeHeaders pattern="*"/> - <doTry> - <to - uri="bean:org.onap.policy.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Upload New or Update Tosca Policy Model')"/> - <to - uri="bean:org.onap.policy.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','update')"/> - <setProperty name="PolicyModelTosca"> - <simple>${body}</simple> - </setProperty> - <to - uri="bean:org.onap.policy.clamp.loop.template.PolicyModelsService?method=createNewPolicyModelFromTosca(${exchangeProperty[PolicyModelTosca]})"/> - <to - uri="bean:org.onap.policy.clamp.flow.log.FlowLogOperation?method=endLog()"/> - <doCatch> - <exception>java.lang.Exception</exception> - <handled> - <constant>true</constant> - </handled> - <to - uri="bean:org.onap.policy.clamp.flow.log.FlowLogOperation?method=errorLog()"/> - <log loggingLevel="ERROR" - message="POST Policy Model YAML request failed: ${exception.stacktrace}"/> - <setHeader name="CamelHttpResponseCode"> - <constant>500</constant> - </setHeader> - <setBody> - <simple>POST Policy model YAML FAILED</simple> - </setBody> - </doCatch> - </doTry> - </route> - </post> - <put uri="/v2/policyToscaModels/{policyModelType}/{policyModelVersion}" - type="java.lang.String" - outType="org.onap.policy.clamp.loop.template.PolicyModel" - consumes="plain/text" produces="application/json"> - <route> - <removeHeaders pattern="*" - excludePattern="policyModelType|policyModelVersion"/> - <doTry> - <to - uri="bean:org.onap.policy.clamp.flow.log.FlowLogOperation?method=startLog(*, 'Upload New or Update Tosca Policy Model')"/> - <to - uri="bean:org.onap.policy.clamp.authorization.AuthorizationController?method=authorize(*,'tosca','','update')"/> - <setProperty name="PolicyModelTosca"> - <simple>${body}</simple> - </setProperty> - <to - uri="bean:org.onap.policy.clamp.loop.template.PolicyModelsService?method=updatePolicyModelTosca(${header.policyModelType},${policyModelVersion},${exchangeProperty[PolicyModelTosca]})"/> - <to - uri="bean:org.onap.policy.clamp.flow.log.FlowLogOperation?method=endLog()"/> - <doCatch> - <exception>java.lang.Exception</exception> - <handled> - <constant>true</constant> - </handled> - <to - uri="bean:org.onap.policy.clamp.flow.log.FlowLogOperation?method=errorLog()"/> - <log loggingLevel="ERROR" - message="MODIFY Policy Model YAML request failed: ${exception.stacktrace}"/> - <setHeader name="CamelHttpResponseCode"> - <constant>500</constant> - </setHeader> - <setBody> - <simple>MODIFY Policy model YAML FAILED</simple> - </setBody> - </doCatch> - </doTry> - </route> - </put> - <!-- Policy Related endpoints, not related to LOOP --> <get uri="/v2/policies" outType="com.google.gson.JsonObject" produces="application/json"> <route> diff --git a/src/test/java/org/onap/policy/clamp/clds/tosca/ToscaYamlToJsonConvertorTestItCase.java b/src/test/java/org/onap/policy/clamp/clds/tosca/ToscaYamlToJsonConvertorTestItCase.java deleted file mode 100644 index 6ff82b6d7..000000000 --- a/src/test/java/org/onap/policy/clamp/clds/tosca/ToscaYamlToJsonConvertorTestItCase.java +++ /dev/null @@ -1,201 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2018 AT&T Intellectual Property. All rights - * reserved. - * Modifications Copyright (C) 2019 Huawei Technologies Co., Ltd. - * ================================================================================ - * 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. - * ============LICENSE_END============================================ - * =================================================================== - * - */ - -package org.onap.policy.clamp.clds.tosca; - -import static org.junit.Assert.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertEquals; - -import com.google.gson.JsonObject; -import java.io.IOException; -import javax.transaction.Transactional; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.onap.policy.clamp.clds.Application; -import org.onap.policy.clamp.clds.util.ResourceFileUtils; -import org.onap.policy.clamp.tosca.Dictionary; -import org.onap.policy.clamp.tosca.DictionaryElement; -import org.onap.policy.clamp.tosca.DictionaryService; -import org.skyscreamer.jsonassert.JSONAssert; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -@RunWith(SpringJUnit4ClassRunner.class) -@SpringBootTest(classes = Application.class) -public class ToscaYamlToJsonConvertorTestItCase { - - @Autowired - private DictionaryService dictionaryService; - - @Autowired - private ToscaYamlToJsonConvertor toscaYamlToJsonConvertor; - - /** - * This Test validates TOSCA yaml to JSON Schema conversion based on JSON Editor - * Schema. - * - * @throws IOException In case of issue when opening the tosca yaml file and - * converted json file - */ - @Test - public final void testParseToscaYaml() throws IOException { - String toscaModelYaml = ResourceFileUtils.getResourceAsString("tosca/tosca_example.yaml"); - ToscaYamlToJsonConvertor convertor = new ToscaYamlToJsonConvertor(); - - String parsedJsonSchema = - convertor.parseToscaYaml(toscaModelYaml, "onap.policies.monitoring.cdap.tca.hi.lo.app"); - assertNotNull(parsedJsonSchema); - JSONAssert.assertEquals( - ResourceFileUtils.getResourceAsString("tosca/policy-yaml-to-json.json"), - parsedJsonSchema, true); - } - - /** - * This Test validates TOSCA yaml with constraints to JSON Schema conversion - * based on JSON Editor Schema. - * - * @throws IOException In case of issue when opening the tosca yaml file and - * converted json file - */ - @Test - public final void testParseToscaYamlWithConstraints() throws IOException { - String toscaModelYaml = - ResourceFileUtils.getResourceAsString("tosca/tosca-with-constraints.yaml"); - ToscaYamlToJsonConvertor convertor = new ToscaYamlToJsonConvertor(); - - String parsedJsonSchema = - convertor.parseToscaYaml(toscaModelYaml, "onap.policies.monitoring.example.app"); - assertNotNull(parsedJsonSchema); - JSONAssert.assertEquals( - ResourceFileUtils.getResourceAsString("tosca/policy-yaml-to-json-with-constraints.json"), - parsedJsonSchema, true); - } - - /** - * This Test validates TOSCA yaml with different datatypes to JSON Schema - * conversion based on JSON Editor Schema. - * - * @throws IOException In case of issue when opening the tosca yaml file and - * converted json file - */ - @Test - public final void testParseToscaYamlWithTypes() throws IOException { - String toscaModelYaml = - ResourceFileUtils.getResourceAsString("tosca/tosca-with-datatypes.yaml"); - ToscaYamlToJsonConvertor convertor = new ToscaYamlToJsonConvertor(); - - String parsedJsonSchema = - convertor.parseToscaYaml(toscaModelYaml, "onap.policies.monitoring.example.app"); - assertNotNull(parsedJsonSchema); - JSONAssert.assertEquals( - ResourceFileUtils.getResourceAsString("tosca/policy-yaml-to-json-with-datatypes.json"), - parsedJsonSchema, true); - } - - /** - * This Test validates Tosca yaml with metadata tag that contains policy_model_type and acronym - * parameters which defines the Tosca Policy name and its short name. - * - * @throws IOException In case of issue when opening the tosca yaml file and - * converted json file - */ - @Test - @Transactional - public final void testMetadataClampPossibleValues() throws IOException { - setupDictionary(); - String toscaModelYaml = - ResourceFileUtils.getResourceAsString("tosca/tosca_metadata_clamp_possible_values.yaml"); - - JsonObject jsonObject = toscaYamlToJsonConvertor.validateAndConvertToJson(toscaModelYaml); - assertNotNull(jsonObject); - String policyModelType = toscaYamlToJsonConvertor.getValueFromMetadata(jsonObject, - ToscaSchemaConstants.METADATA_POLICY_MODEL_TYPE); - String acronym = toscaYamlToJsonConvertor.getValueFromMetadata(jsonObject, - ToscaSchemaConstants.METADATA_ACRONYM); - String parsedJsonSchema = - toscaYamlToJsonConvertor.parseToscaYaml(toscaModelYaml, policyModelType); - - assertNotNull(parsedJsonSchema); - assertEquals("onap.policies.monitoring.cdap.tca.hi.lo.app", policyModelType); - assertEquals("tca", acronym); - JSONAssert.assertEquals( - ResourceFileUtils - .getResourceAsString("tosca/tosca_metadata_clamp_possible_values_json_schema.json"), - parsedJsonSchema, true); - - } - - private void setupDictionary() { - - // Set up dictionary elements - Dictionary dictionaryTest = new Dictionary(); - dictionaryTest.setName("Context"); - dictionaryTest.setSecondLevelDictionary(0); - - DictionaryElement element = new DictionaryElement(); - element.setName("PROD"); - element.setShortName("PROD"); - element.setType("string"); - element.setDescription("Production"); - dictionaryTest.addDictionaryElements(element); - - dictionaryService.saveOrUpdateDictionary(dictionaryTest); - - Dictionary dictionaryTest1 = new Dictionary(); - dictionaryTest1.setName("EventDictionary"); - dictionaryTest1.setSecondLevelDictionary(0); - - DictionaryElement element1 = new DictionaryElement(); - element1.setName("alarmCondition"); - element1.setShortName("alarmCondition"); - element1.setType("string"); - element1.setDescription("Alarm Condition"); - dictionaryTest1.addDictionaryElements(element1); - - dictionaryTest1 = dictionaryService.saveOrUpdateDictionary(dictionaryTest1); - - DictionaryElement element3 = new DictionaryElement(); - element3.setName("timeEpoch"); - element3.setShortName("timeEpoch"); - element3.setType("datetime"); - element3.setDescription("Time Epoch"); - dictionaryTest1.addDictionaryElements(element3); - - dictionaryService.saveOrUpdateDictionary(dictionaryTest1); - - Dictionary dictionaryTest2 = new Dictionary(); - dictionaryTest2.setName("Operators"); - dictionaryTest2.setSecondLevelDictionary(0); - - DictionaryElement element2 = new DictionaryElement(); - element2.setName("equals"); - element2.setShortName("equals"); - element2.setType("string|datetime"); - element2.setDescription("equals"); - dictionaryTest2.addDictionaryElements(element2); - dictionaryService.saveOrUpdateDictionary(dictionaryTest2); - } - -} diff --git a/src/test/java/org/onap/policy/clamp/loop/PolicyModelServiceItCase.java b/src/test/java/org/onap/policy/clamp/loop/PolicyModelServiceItCase.java index b6c60d84c..a2563b8d3 100644 --- a/src/test/java/org/onap/policy/clamp/loop/PolicyModelServiceItCase.java +++ b/src/test/java/org/onap/policy/clamp/loop/PolicyModelServiceItCase.java @@ -121,24 +121,6 @@ public class PolicyModelServiceItCase { } /** - * This tests a create Policy Model from Tosca. - * - * @throws IOException In case of failure - */ - @Test - @Transactional - public void shouldCreatePolicyModelFromTosca() throws IOException { - String toscaModelYaml = - ResourceFileUtils.getResourceAsString("tosca/tosca_with_metadata.yaml"); - PolicyModel policyModel = policyModelsService.createNewPolicyModelFromTosca(toscaModelYaml); - - assertThat(policyModelsService.getAllPolicyModels()).contains(policyModel); - - assertThat(policyModelsService.getPolicyModelTosca(policyModel.getPolicyModelType(), - policyModel.getVersion())).contains(toscaModelYaml); - } - - /** * This tests the getPolicyModelJson. A json is expected. * * @throws IOException In case of failure @@ -162,27 +144,6 @@ public class PolicyModelServiceItCase { } /** - * This tests a update Policy Model. - * - * @throws IOException In case of failure - */ - @Test - @Transactional - public void shouldUpdatePolicyModel() throws IOException { - String toscaModelYaml = - ResourceFileUtils.getResourceAsString("tosca/tosca_with_metadata.yaml"); - PolicyModel policyModel = policyModelsService.createNewPolicyModelFromTosca(toscaModelYaml); - String newToscaModelYaml = - ResourceFileUtils.getResourceAsString("tosca/tosca_metadata_clamp_possible_values.yaml"); - - PolicyModel updatedPolicyModel = policyModelsService.updatePolicyModelTosca( - policyModel.getPolicyModelType(), policyModel.getVersion(), newToscaModelYaml); - - assertThat(updatedPolicyModel.getPolicyModelTosca()).isEqualTo(newToscaModelYaml); - - } - - /** * This tests a getAllPolicyModelTypes get. */ @Test diff --git a/src/test/resources/tosca/policy-yaml-to-json-with-constraints.json b/src/test/resources/tosca/policy-yaml-to-json-with-constraints.json deleted file mode 100644 index fe9b84d13..000000000 --- a/src/test/resources/tosca/policy-yaml-to-json-with-constraints.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "schema": { - "uniqueItems": "true", - "format": "tabs", - "type": "array", - "title": "Properties with constraints", - "items": { - "type": "object", - "title": "Properties with constraints", - "required": [ - "cpus", - "memSize" - ], - "properties": { - "appPassword": { - "propertyOrder": 1004, - "minLength": 6, - "title": "application password", - "type": "string", - "maxLength": 10 - }, - "cost": { - "exclusiveMaximum": 100.5, - "propertyOrder": 1005, - "type": "integer", - "exclusiveMinimum": 50.5 - }, - "keylength": { - "propertyOrder": 1007, - "type": "integer", - "enum": [ - 128, - 256 - ] - }, - "cpus": { - "propertyOrder": 1001, - "default": 1, - "minLength": 1, - "type": "string", - "maxLength": 4 - }, - "ports": { - "propertyOrder": 1002, - "maximum": 9010, - "type": "integer", - "minimum": 9000 - }, - "memSize": { - "propertyOrder": 1003, - "maximum": 10, - "title": "memory size", - "type": "integer", - "minimum": 2 - }, - "algorithm": { - "propertyOrder": 1006, - "type": "string" - } - } - } - } -} diff --git a/src/test/resources/tosca/policy-yaml-to-json-with-datatypes.json b/src/test/resources/tosca/policy-yaml-to-json-with-datatypes.json deleted file mode 100644 index ef9c2c03a..000000000 --- a/src/test/resources/tosca/policy-yaml-to-json-with-datatypes.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "schema": { - "uniqueItems": "true", - "format": "tabs", - "type": "array", - "title": "Properties with different types", - "items": { - "type": "object", - "title": "Properties with different types", - "required": [ - "memSize" - ], - "properties": { - "cpus": { - "propertyOrder": 1001, - "uniqueItems": "true", - "format": "tabs-top", - "type": "array", - "items": { - "type": "object", - "required": [], - "properties": { - "closedLoopControlName": { - "propertyOrder": 1002, - "type": "string" - } - } - } - }, - "domain": { - "propertyOrder": 1009, - "type": "object", - "required": [], - "properties": { - "closedLoopControlName": { - "propertyOrder": 1002, - "type": "string" - } - } - }, - "thresholdValue": { - "propertyOrder": 1007, - "uniqueItems": "true", - "format": "select", - "type": "array", - "items": { - "type": "string" - } - }, - "ports": { - "propertyOrder": 1003, - "type": "object", - "items": { - "type": "string" - } - }, - "closedLoopEventStatus": { - "propertyOrder": 1004, - "type": "object", - "items": { - "type": "integer" - } - }, - "version": { - "propertyOrder": 1008, - "uniqueItems": "true", - "format": "tabs-top", - "type": "array", - "items": { - "type": "object", - "required": [], - "properties": { - "closedLoopControlName": { - "propertyOrder": 1002, - "type": "string" - } - } - } - }, - "memSize": { - "propertyOrder": 1006, - "required": [], - "properties": { - "name": { - "propertyOrder": 20002, - "required": [ - "severity" - ], - "properties": { - "severity": { - "propertyOrder": 20003, - "type": "string" - } - } - } - } - }, - "direction": { - "propertyOrder": 1005, - "type": "object", - "items": { - "type": "integer" - } - } - } - } - } -}
\ No newline at end of file diff --git a/src/test/resources/tosca/policy-yaml-to-json.json b/src/test/resources/tosca/policy-yaml-to-json.json deleted file mode 100644 index b83d3f24f..000000000 --- a/src/test/resources/tosca/policy-yaml-to-json.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "schema": { - "uniqueItems": "true", - "format": "tabs", - "type": "array", - "title": "TCA Policy JSON", - "items": { - "type": "object", - "title": "TCA Policy JSON", - "required": [ - "domain", - "metricsPerEventName" - ], - "properties": { - "domain": { - "propertyOrder": 1001, - "default": "measurementsForVfScaling", - "title": "Domain name to which TCA needs to be applied", - "type": "string" - }, - "metricsPerEventName": { - "propertyOrder": 1002, - "uniqueItems": "true", - "format": "tabs-top", - "title": "Contains eventName and threshold details that need to be applied to given eventName", - "type": "array", - "items": { - "type": "object", - "required": [ - "controlLoopSchemaType", - "eventName", - "policyName", - "policyScope", - "policyVersion", - "thresholds" - ], - "properties": { - "policyVersion": { - "propertyOrder": 1007, - "title": "TCA Policy Scope Version", - "type": "string" - }, - "thresholds": { - "propertyOrder": 1008, - "uniqueItems": "true", - "format": "tabs-top", - "title": "Thresholds associated with eventName", - "type": "array", - "items": { - "type": "object", - "required": [ - "closedLoopControlName", - "closedLoopEventStatus", - "direction", - "fieldPath", - "severity", - "thresholdValue", - "version" - ], - "properties": { - "severity": { - "propertyOrder": 1013, - "title": "Threshold Event Severity", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "NORMAL" - ] - }, - "fieldPath": { - "propertyOrder": 1012, - "title": "Json field Path as per CEF message which needs to be analyzed for TCA", - "type": "string", - "enum": [ - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage", - "$.event.measurementsForVfScalingFields.meanRequestLatency", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed", - "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value" - ] - }, - "thresholdValue": { - "propertyOrder": 1014, - "title": "Threshold value for the field Path inside CEF message", - "type": "integer" - }, - "closedLoopEventStatus": { - "propertyOrder": 1010, - "title": "Closed Loop Event Status of the threshold", - "type": "string", - "enum": [ - "ONSET", - "ABATED" - ] - }, - "closedLoopControlName": { - "propertyOrder": 1009, - "title": "Closed Loop Control Name associated with the threshold", - "type": "string" - }, - "version": { - "propertyOrder": 1015, - "title": "Version number associated with the threshold", - "type": "string" - }, - "direction": { - "propertyOrder": 1011, - "title": "Direction of the threshold", - "type": "string", - "enum": [ - "LESS", - "LESS_OR_EQUAL", - "GREATER", - "GREATER_OR_EQUAL", - "EQUAL" - ] - } - } - } - }, - "policyName": { - "propertyOrder": 1005, - "title": "TCA Policy Scope Name", - "type": "string" - }, - "controlLoopSchemaType": { - "propertyOrder": 1003, - "title": "Specifies Control Loop Schema Type for the event Name e.g. VNF, VM", - "type": "string", - "enum": [ - "VM", - "VNF" - ] - }, - "policyScope": { - "propertyOrder": 1006, - "title": "TCA Policy Scope", - "type": "string" - }, - "eventName": { - "propertyOrder": 1004, - "title": "Event name to which thresholds need to be applied", - "type": "string" - } - } - } - } - } - } - } -}
\ No newline at end of file diff --git a/src/test/resources/tosca/tosca-with-constraints.yaml b/src/test/resources/tosca/tosca-with-constraints.yaml deleted file mode 100644 index 959bc483b..000000000 --- a/src/test/resources/tosca/tosca-with-constraints.yaml +++ /dev/null @@ -1,54 +0,0 @@ -tosca_definitions_version: tosca_simple_yaml_1_0_0 -policy_types: - onap.policies.Monitoring: - derived_from: tosca.policies.Root - description: a base policy type for all policies that governs monitoring provisioning - onap.policies.monitoring.example.app: - derived_from: onap.policies.Monitoring - version: 1.0.0 - properties: - example_policy: - type: map - description: Properties with constraints - entry_schema: - type: onap.datatypes.monitoring.example_policy -data_types: - onap.datatypes.monitoring.example_policy: - derived_from: tosca.datatypes.Root - properties: - cpus: - type: string - required: true - default: 1 - constraints: - - in_range: [ 1, 4 ] - ports: - type: integer - constraints: - - in_range: [ 9000, 9010 ] - memSize: - type: integer - required: true - description: memory size - constraints: - - greater_or_equal: 2 - - less_or_equal: 10 - appPassword: - type: string - description: application password - constraints: - - min_length: 6 - - max_length: 10 - cost: - type: float - constraints: - - less_than: 100.50 - - greater_than: 50.50 - algorithm: - type: string - constraints: - - equal: aes - keylength: - type: integer - constraints: - - valid_values: [ 128, 256 ] diff --git a/src/test/resources/tosca/tosca-with-datatypes.yaml b/src/test/resources/tosca/tosca-with-datatypes.yaml deleted file mode 100644 index 61d5dbcc8..000000000 --- a/src/test/resources/tosca/tosca-with-datatypes.yaml +++ /dev/null @@ -1,63 +0,0 @@ -tosca_definitions_version: tosca_simple_yaml_1_0_0 -policy_types: - onap.policies.Monitoring: - derived_from: tosca.policies.Root - description: a base policy type for all policies that governs monitoring provisioning - onap.policies.monitoring.example.app: - derived_from: onap.policies.Monitoring - version: 1.0.0 - properties: - example_policy: - type: map - description: Properties with different types - entry_schema: - type: onap.datatypes.monitoring.example_policy -data_types: - onap.datatypes.monitoring.example2: - derived_from: tosca.datatypes.Root - properties: - closedLoopControlName: - type: string - onap.datatypes.monitoring.example3: - derived_from: tosca.datatypes.Root - properties: - name: - type: onap.datatypes.monitoring.example4 - onap.datatypes.monitoring.example4: - derived_from: tosca.datatypes.Root - properties: - severity: - type: string - required: true - onap.datatypes.monitoring.example_policy: - derived_from: tosca.datatypes.Root - properties: - cpus: - type: list - entry_schema: - type: onap.datatypes.monitoring.example2 - ports: - type: map - entry_schema: - type: string - closedLoopEventStatus: - type: map - entry_schema: - type: integer - direction: - type: map - entry_schema: - type: float - memSize: - type: onap.datatypes.monitoring.example3 - required: true - thresholdValue: - type: list - entry_schema: - type: string - version: - type: list - entry_schema: - type: onap.datatypes.monitoring.example2 - domain: - type: onap.datatypes.monitoring.example2
\ No newline at end of file diff --git a/src/test/resources/tosca/tosca_metadata_clamp_possible_values.yaml b/src/test/resources/tosca/tosca_metadata_clamp_possible_values.yaml deleted file mode 100644 index 4d3c3dff2..000000000 --- a/src/test/resources/tosca/tosca_metadata_clamp_possible_values.yaml +++ /dev/null @@ -1,184 +0,0 @@ -tosca_definitions_version: tosca_simple_yaml_1_0_0 -policy_types: - onap.policies.Monitoring: - derived_from: tosca.policies.Root - description: a base policy type for all policies that governs monitoring provisioning - onap.policies.monitoring.cdap.tca.hi.lo.app: - derived_from: onap.policies.Monitoring - version: 1.0.0 - properties: - tca_policy: - type: map - description: TCA Policy JSON - entry_schema: - type: onap.datatypes.monitoring.tca_policy - metadata: - policy_model_type: onap.policies.monitoring.cdap.tca.hi.lo.app - acronym: tca - -data_types: - onap.datatypes.monitoring.metricsPerEventName: - derived_from: tosca.datatypes.Root - properties: - controlLoopSchemaType: - type: string - required: true - description: Specifies Control Loop Schema Type for the event Name e.g. VNF, VM - constraints: - - valid_values: - - VM - - VNF - eventName: - type: string - required: true - description: Event name to which thresholds need to be applied - policyName: - type: string - required: true - description: TCA Policy Scope Name - policyScope: - type: string - required: true - description: TCA Policy Scope - policyVersion: - type: string - required: true - description: TCA Policy Scope Version - thresholds: - type: list - required: true - description: Thresholds associated with eventName - entry_schema: - type: onap.datatypes.monitoring.thresholds - context: - type: string - required: true - description: TCA Policy Dummy Context - metadata: - clamp_possible_values: ["Dictionary:Context"] - - signature: - type: onap.datatypes.monitoring.Dummy_Signature - description: Signature - required: true - - onap.datatypes.monitoring.Dummy_Signature: - derived_from: tosca.datatypes.Root - properties: - filter_clause: - type: string - description: Filter Clause - required: true - metadata: - clamp_possible_values: ["Dictionary:EventDictionary#Operators"] - - onap.datatypes.monitoring.tca_policy: - derived_from: tosca.datatypes.Root - properties: - domain: - type: string - required: true - description: Domain name to which TCA needs to be applied - default: measurementsForVfScaling - constraints: - - equal: measurementsForVfScaling - metricsPerEventName: - type: list - required: true - description: Contains eventName and threshold details that need to be applied to given eventName - entry_schema: - type: onap.datatypes.monitoring.metricsPerEventName - onap.datatypes.monitoring.thresholds: - derived_from: tosca.datatypes.Root - properties: - closedLoopControlName: - type: string - required: true - description: Closed Loop Control Name associated with the threshold - closedLoopEventStatus: - type: string - required: true - description: Closed Loop Event Status of the threshold - constraints: - - valid_values: - - ONSET - - ABATED - direction: - type: string - required: true - description: Direction of the threshold - constraints: - - valid_values: - - LESS - - LESS_OR_EQUAL - - GREATER - - GREATER_OR_EQUAL - - EQUAL - fieldPath: - type: string - required: true - description: Json field Path as per CEF message which needs to be analyzed for TCA - constraints: - - valid_values: - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated - - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated - - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle - - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt - - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice - - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq - - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal - - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem - - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait - - $.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage - - $.event.measurementsForVfScalingFields.meanRequestLatency - - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered - - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached - - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured - - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree - - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed - - $.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value - severity: - type: string - required: true - description: Threshold Event Severity - constraints: - - valid_values: - - CRITICAL - - MAJOR - - MINOR - - WARNING - - NORMAL - thresholdValue: - type: integer - required: true - description: Threshold value for the field Path inside CEF message - version: - type: string - required: true - description: Version number associated with the threshold diff --git a/src/test/resources/tosca/tosca_metadata_clamp_possible_values_json_schema.json b/src/test/resources/tosca/tosca_metadata_clamp_possible_values_json_schema.json deleted file mode 100644 index 418ee71be..000000000 --- a/src/test/resources/tosca/tosca_metadata_clamp_possible_values_json_schema.json +++ /dev/null @@ -1,249 +0,0 @@ -{ - "schema":{ - "uniqueItems":"true", - "format":"tabs", - "type":"array", - "title":"TCA Policy JSON", - "items":{ - "type":"object", - "title":"TCA Policy JSON", - "required":[ - "domain", - "metricsPerEventName" - ], - "properties":{ - "domain":{ - "propertyOrder":1001, - "default":"measurementsForVfScaling", - "title":"Domain name to which TCA needs to be applied", - "type":"string" - }, - "metricsPerEventName":{ - "propertyOrder":1002, - "uniqueItems":"true", - "format":"tabs-top", - "title":"Contains eventName and threshold details that need to be applied to given eventName", - "type":"array", - "items":{ - "type":"object", - "required":[ - "controlLoopSchemaType", - "eventName", - "policyName", - "policyScope", - "policyVersion", - "thresholds", - "context", - "signature" - ], - "properties":{ - "policyVersion":{ - "propertyOrder":1007, - "title":"TCA Policy Scope Version", - "type":"string" - }, - "thresholds":{ - "propertyOrder":1008, - "uniqueItems":"true", - "format":"tabs-top", - "title":"Thresholds associated with eventName", - "type":"array", - "items":{ - "type":"object", - "required":[ - "closedLoopControlName", - "closedLoopEventStatus", - "direction", - "fieldPath", - "severity", - "thresholdValue", - "version" - ], - "properties":{ - "severity":{ - "propertyOrder":1013, - "title":"Threshold Event Severity", - "type":"string", - "enum":[ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "NORMAL" - ] - }, - "fieldPath":{ - "propertyOrder":1012, - "title":"Json field Path as per CEF message which needs to be analyzed for TCA", - "type":"string", - "enum":[ - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated", - "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait", - "$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage", - "$.event.measurementsForVfScalingFields.meanRequestLatency", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree", - "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed", - "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value" - ] - }, - "thresholdValue":{ - "propertyOrder":1014, - "title":"Threshold value for the field Path inside CEF message", - "type":"integer" - }, - "closedLoopEventStatus":{ - "propertyOrder":1010, - "title":"Closed Loop Event Status of the threshold", - "type":"string", - "enum":[ - "ONSET", - "ABATED" - ] - }, - "closedLoopControlName":{ - "propertyOrder":1009, - "title":"Closed Loop Control Name associated with the threshold", - "type":"string" - }, - "version":{ - "propertyOrder":1015, - "title":"Version number associated with the threshold", - "type":"string" - }, - "direction":{ - "propertyOrder":1011, - "title":"Direction of the threshold", - "type":"string", - "enum":[ - "LESS", - "LESS_OR_EQUAL", - "GREATER", - "GREATER_OR_EQUAL", - "EQUAL" - ] - } - } - } - }, - "policyName":{ - "propertyOrder":1005, - "title":"TCA Policy Scope Name", - "type":"string" - }, - "signature":{ - "propertyOrder":1017, - "title":"Signature", - "required":[ - "filter_clause" - ], - "properties":{ - "filter_clause":{ - "propertyOrder":30002, - "qschema":{ - "filters":[ - { - "operators":[ - "equals" - ], - "minLength":1, - "id":"alarmCondition", - "label":"alarmCondition", - "type":"string" - }, - { - "plugin":"datetimepicker", - "operators":[ - "equals" - ], - "minLength":1, - "id":"timeEpoch", - "label":"timeEpoch", - "type":"datetime", - "input_event":"dp.change", - "validation":{ - "format":"YYYY/MM/DD HH:mm:ss" - } - } - ] - }, - "minLength":1, - "title":"Filter Clause", - "type":"qbldr" - } - } - }, - "controlLoopSchemaType":{ - "propertyOrder":1003, - "title":"Specifies Control Loop Schema Type for the event Name e.g. VNF, VM", - "type":"string", - "enum":[ - "VM", - "VNF" - ] - }, - "policyScope":{ - "propertyOrder":1006, - "title":"TCA Policy Scope", - "type":"string" - }, - "context":{ - "propertyOrder":1016, - "options":{ - "enum_titles":[ - "PROD" - ] - }, - "title":"TCA Policy Dummy Context", - "type":"string", - "enum":[ - "PROD" - ] - }, - "eventName":{ - "propertyOrder":1004, - "title":"Event name to which thresholds need to be applied", - "type":"string" - } - } - } - } - } - } - } -}
\ No newline at end of file |