aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVidyashree-Huawei <vidyashree.rama@huawei.com>2020-04-20 12:18:50 +0530
committerVidyashree-Huawei <vidyashree.rama@huawei.com>2020-04-21 20:28:13 +0530
commit472dc126eb9f30c09df344357db2c62f20d0b92c (patch)
treeee2ab2696d67547c2822fb5e22d618bc51f9fd5e /src
parentbd6abe51f90936ecb4a7de92a3f40978675a2886 (diff)
Payload is expected as string in operational policy
1. converted json to string for legacy operational policy 2. added payload data as default string value for generic operational policy Change-Id: If63423c24d736623b227537f0f83edeaac819215 Issue-ID: CLAMP-831 Signed-off-by: Vidyashree-Huawei <vidyashree.rama@huawei.com>
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/onap/clamp/clds/tosca/update/execution/cds/ToscaMetadataCdsProcess.java71
-rw-r--r--src/main/java/org/onap/clamp/policy/operational/LegacyOperationalPolicy.java5
-rw-r--r--src/main/java/org/onap/clamp/policy/operational/OperationalPolicyRepresentationBuilder.java88
-rw-r--r--src/test/resources/tosca/new-converter/tosca_apex_with_metadata.json276
-rw-r--r--src/test/resources/tosca/operational-policy-cds-payload-with-list.json14
-rw-r--r--src/test/resources/tosca/operational-policy-json-schema.json372
-rw-r--r--src/test/resources/tosca/operational-policy-payload-legacy.yaml34
-rw-r--r--src/test/resources/tosca/operational-policy-payload.json2
-rw-r--r--src/test/resources/tosca/operational-policy-payload.yaml34
-rw-r--r--src/test/resources/tosca/operational-policy-properties.json33
10 files changed, 405 insertions, 524 deletions
diff --git a/src/main/java/org/onap/clamp/clds/tosca/update/execution/cds/ToscaMetadataCdsProcess.java b/src/main/java/org/onap/clamp/clds/tosca/update/execution/cds/ToscaMetadataCdsProcess.java
index c1564141..c92cad1f 100644
--- a/src/main/java/org/onap/clamp/clds/tosca/update/execution/cds/ToscaMetadataCdsProcess.java
+++ b/src/main/java/org/onap/clamp/clds/tosca/update/execution/cds/ToscaMetadataCdsProcess.java
@@ -23,9 +23,7 @@
package org.onap.clamp.clds.tosca.update.execution.cds;
-import static org.onap.clamp.clds.tosca.ToscaSchemaConstants.PROPERTIES;
import static org.onap.clamp.clds.tosca.ToscaSchemaConstants.TYPE;
-import static org.onap.clamp.clds.tosca.ToscaSchemaConstants.TYPE_LIST;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
@@ -133,20 +131,14 @@ public class ToscaMetadataCdsProcess extends ToscaMetadataProcess {
return result;
}
- private static JsonObject createAnyOfJsonProperty(String name, String defaultValue) {
+ private static JsonObject createAnyOfJsonProperty(String name,
+ String defaultValue,
+ boolean readOnlyFlag) {
JsonObject result = new JsonObject();
result.addProperty("title", name);
result.addProperty("type", "string");
result.addProperty("default", defaultValue);
- result.addProperty("readOnly", "True");
- return result;
- }
-
- private static JsonObject createAnyOfJsonObject(String name, JsonObject allProperties) {
- JsonObject result = new JsonObject();
- result.addProperty("title", name);
- result.addProperty("type", "object");
- result.add("properties", allProperties);
+ result.addProperty("readOnly", readOnlyFlag);
return result;
}
@@ -173,66 +165,37 @@ public class ToscaMetadataCdsProcess extends ToscaMetadataProcess {
JsonObject inputs = workFlow.getAsJsonObject("inputs");
JsonObject jsonObject = new JsonObject();
jsonObject.add("artifact_name", createAnyOfJsonProperty(
- "artifact name", artifactName));
+ "artifact name", artifactName, true));
jsonObject.add("artifact_version", createAnyOfJsonProperty(
- "artifact version", artifactVersion));
- jsonObject.add("mode", createCdsInputProperty(
- "mode", "string", "async", null));
+ "artifact version", artifactVersion, true));
+ jsonObject.add("mode", createAnyOfJsonProperty(
+ "mode", "async", false));
jsonObject.add("data", createDataProperty(inputs));
-
return jsonObject;
}
private static JsonObject createDataProperty(JsonObject inputs) {
JsonObject data = new JsonObject();
data.addProperty("title", "data");
- data.add(PROPERTIES, addDataFields(inputs));
+ data.addProperty("type", "string");
+ data.addProperty("format", "textarea");
+ JsonObject defaultValue = new JsonObject();
+ addDefaultValueForData(inputs, defaultValue);
+ data.addProperty("default", defaultValue.toString());
return data;
}
- private static JsonObject addDataFields(JsonObject inputs) {
- JsonObject jsonObject = new JsonObject();
+ private static void addDefaultValueForData(JsonObject inputs,
+ JsonObject defaultValue) {
Set<Map.Entry<String, JsonElement>> entrySet = inputs.entrySet();
for (Map.Entry<String, JsonElement> entry : entrySet) {
String key = entry.getKey();
JsonObject inputProperty = inputs.getAsJsonObject(key);
if (inputProperty.get(TYPE) == null) {
- jsonObject.add(entry.getKey(),
- createAnyOfJsonObject(key,
- addDataFields(entry.getValue().getAsJsonObject())));
+ addDefaultValueForData(entry.getValue().getAsJsonObject(), defaultValue);
} else {
- jsonObject.add(entry.getKey(),
- createCdsInputProperty(key,
- inputProperty.get("type").getAsString(),
- null,
- entry.getValue().getAsJsonObject()));
+ defaultValue.addProperty(entry.getKey(), "");
}
}
- return jsonObject;
- }
-
- private static JsonObject createCdsInputProperty(String title,
- String type,
- String defaultValue,
- JsonObject cdsProperty) {
- JsonObject property = new JsonObject();
- property.addProperty("title", title);
-
- if (TYPE_LIST.equalsIgnoreCase(type)) {
- property.addProperty(TYPE, "array");
- if (cdsProperty.get(PROPERTIES) != null) {
- JsonObject listProperties = new JsonObject();
- listProperties.add(PROPERTIES,
- addDataFields(cdsProperty.get(PROPERTIES).getAsJsonObject()));
- property.add("items", listProperties);
- }
- } else {
- property.addProperty(TYPE, type);
- }
-
- if (defaultValue != null) {
- property.addProperty("default", defaultValue);
- }
- return property;
}
}
diff --git a/src/main/java/org/onap/clamp/policy/operational/LegacyOperationalPolicy.java b/src/main/java/org/onap/clamp/policy/operational/LegacyOperationalPolicy.java
index 3765277d..a7a344df 100644
--- a/src/main/java/org/onap/clamp/policy/operational/LegacyOperationalPolicy.java
+++ b/src/main/java/org/onap/clamp/policy/operational/LegacyOperationalPolicy.java
@@ -234,6 +234,11 @@ public class LegacyOperationalPolicy {
JsonObject payloadObject = payloadElem != null ?
payloadElem.getAsJsonObject() : null;
if (payloadObject != null) {
+ /* Since policy expects payload to be map of string,
+ converting data object to string. */
+ JsonObject dataObject = payloadObject.get("data").getAsJsonObject();
+ payloadObject.remove("data");
+ payloadObject.addProperty("data", dataObject.toString());
policy.getAsJsonObject().add(PAYLOAD,
payloadObject);
} else {
diff --git a/src/main/java/org/onap/clamp/policy/operational/OperationalPolicyRepresentationBuilder.java b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicyRepresentationBuilder.java
index 4e362d84..57d13ef1 100644
--- a/src/main/java/org/onap/clamp/policy/operational/OperationalPolicyRepresentationBuilder.java
+++ b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicyRepresentationBuilder.java
@@ -24,8 +24,6 @@
package org.onap.clamp.policy.operational;
-import static org.onap.clamp.clds.tosca.update.execution.cds.ToscaMetadataCdsProcess.createInputPropertiesForPayload;
-
import com.att.eelf.configuration.EELFLogger;
import com.att.eelf.configuration.EELFManager;
import com.google.gson.JsonArray;
@@ -33,7 +31,9 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import java.io.IOException;
+import java.util.Map;
import java.util.Map.Entry;
+import java.util.Set;
import org.onap.clamp.clds.util.JsonUtils;
import org.onap.clamp.clds.util.ResourceFileUtil;
@@ -44,6 +44,10 @@ public class OperationalPolicyRepresentationBuilder {
private static final EELFLogger logger =
EELFManager.getInstance().getLogger(OperationalPolicyRepresentationBuilder.class);
+ public static final String PROPERTIES = "properties";
+ public static final String TYPE = "type";
+ public static final String TYPE_LIST = "list";
+
/**
* This method generates the operational policy json representation that will be
* used by ui for rendering. It uses the model (VF and VFModule) defined in the
@@ -213,7 +217,7 @@ public class OperationalPolicyRepresentationBuilder {
private static JsonObject createPayloadProperty(JsonObject workFlow,
JsonObject controllerProperties, String workFlowName) {
JsonObject payload = new JsonObject();
- payload.addProperty("title", "Payload (YAML)");
+ payload.addProperty("title", "Payload");
payload.addProperty("type", "object");
payload.add("properties", createInputPropertiesForPayload(workFlow,
controllerProperties));
@@ -233,4 +237,82 @@ public class OperationalPolicyRepresentationBuilder {
recipe.add("options", options);
return recipe;
}
+
+ /**
+ * Returns the properties of payload based on the cds work flows.
+ *
+ * @param workFlow cds work flows to update payload
+ * @param controllerProperties cds properties to get blueprint name and
+ * version
+ * @return returns the properties of payload
+ */
+ public static JsonObject createInputPropertiesForPayload(JsonObject workFlow,
+ JsonObject controllerProperties) {
+ String artifactName = controllerProperties.get("sdnc_model_name").getAsString();
+ String artifactVersion = controllerProperties.get("sdnc_model_version").getAsString();
+ JsonObject inputs = workFlow.getAsJsonObject("inputs");
+ JsonObject jsonObject = new JsonObject();
+ jsonObject.add("artifact_name", createSchemaProperty(
+ "artifact name", "string", artifactName, "True", null));
+ jsonObject.add("artifact_version", createSchemaProperty(
+ "artifact version", "string", artifactVersion, "True", null));
+ jsonObject.add("mode", createCdsInputProperty(
+ "mode", "string", "async" ,null));
+ jsonObject.add("data", createDataProperty(inputs));
+ return jsonObject;
+ }
+
+ private static JsonObject createDataProperty(JsonObject inputs) {
+ JsonObject data = new JsonObject();
+ data.addProperty("title", "data");
+ JsonObject dataObj = new JsonObject();
+ addDataFields(inputs, dataObj);
+ data.add(PROPERTIES, dataObj);
+ return data;
+ }
+
+ private static void addDataFields(JsonObject inputs,
+ JsonObject dataObj) {
+ Set<Map.Entry<String, JsonElement>> entrySet = inputs.entrySet();
+ for (Map.Entry<String, JsonElement> entry : entrySet) {
+ String key = entry.getKey();
+ JsonObject inputProperty = inputs.getAsJsonObject(key);
+ if (inputProperty.get(TYPE) == null) {
+ addDataFields(entry.getValue().getAsJsonObject(), dataObj);
+ } else {
+ dataObj.add(entry.getKey(),
+ createCdsInputProperty(key,
+ inputProperty.get(TYPE).getAsString(),
+ null,
+ entry.getValue().getAsJsonObject()));
+ }
+ }
+ }
+
+ private static JsonObject createCdsInputProperty(String title,
+ String type,
+ String defaultValue,
+ JsonObject cdsProperty) {
+ JsonObject property = new JsonObject();
+ property.addProperty("title", title);
+
+ if (TYPE_LIST.equalsIgnoreCase(type)) {
+ property.addProperty(TYPE, "array");
+ if (cdsProperty.get(PROPERTIES) != null) {
+ JsonObject dataObject = new JsonObject();
+ addDataFields(cdsProperty.get(PROPERTIES).getAsJsonObject(),
+ dataObject);
+ JsonObject listProperties = new JsonObject();
+ listProperties.add(PROPERTIES, dataObject);
+ property.add("items", listProperties);
+ }
+ } else {
+ property.addProperty(TYPE, type);
+ }
+
+ if (defaultValue != null) {
+ property.addProperty("default", defaultValue);
+ }
+ return property;
+ }
}
diff --git a/src/test/resources/tosca/new-converter/tosca_apex_with_metadata.json b/src/test/resources/tosca/new-converter/tosca_apex_with_metadata.json
index 793ba5e7..ad985292 100644
--- a/src/test/resources/tosca/new-converter/tosca_apex_with_metadata.json
+++ b/src/test/resources/tosca/new-converter/tosca_apex_with_metadata.json
@@ -76,57 +76,25 @@
"title": "artifact name",
"type": "string",
"default": "baseconfiguration",
- "readOnly": "True"
+ "readOnly": true
},
"artifact_version": {
"title": "artifact version",
"type": "string",
"default": "1.0.0",
- "readOnly": "True"
+ "readOnly": true
},
"mode": {
"title": "mode",
"type": "string",
- "default": "async"
+ "default": "async",
+ "readOnly": false
},
"data": {
"title": "data",
- "properties": {
- "resource-assignment-properties": {
- "title": "resource-assignment-properties",
- "type": "object",
- "properties": {
- "request-id": {
- "title": "request-id",
- "type": "string"
- },
- "service-instance-id": {
- "title": "service-instance-id",
- "type": "string"
- },
- "vnf-id": {
- "title": "vnf-id",
- "type": "string"
- },
- "action-name": {
- "title": "action-name",
- "type": "string"
- },
- "scope-type": {
- "title": "scope-type",
- "type": "string"
- },
- "hostname": {
- "title": "hostname",
- "type": "string"
- },
- "vnf_name": {
- "title": "vnf_name",
- "type": "string"
- }
- }
- }
- }
+ "type": "string",
+ "format": "textarea",
+ "default": "{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}"
}
}
},
@@ -137,57 +105,25 @@
"title": "artifact name",
"type": "string",
"default": "baseconfiguration",
- "readOnly": "True"
+ "readOnly": true
},
"artifact_version": {
"title": "artifact version",
"type": "string",
"default": "1.0.0",
- "readOnly": "True"
+ "readOnly": true
},
"mode": {
"title": "mode",
"type": "string",
- "default": "async"
+ "default": "async",
+ "readOnly": false
},
"data": {
"title": "data",
- "properties": {
- "resource-assignment-properties": {
- "title": "resource-assignment-properties",
- "type": "object",
- "properties": {
- "request-id": {
- "title": "request-id",
- "type": "string"
- },
- "service-instance-id": {
- "title": "service-instance-id",
- "type": "string"
- },
- "vnf-id": {
- "title": "vnf-id",
- "type": "string"
- },
- "action-name": {
- "title": "action-name",
- "type": "string"
- },
- "scope-type": {
- "title": "scope-type",
- "type": "string"
- },
- "hostname": {
- "title": "hostname",
- "type": "string"
- },
- "vnf_name": {
- "title": "vnf_name",
- "type": "string"
- }
- }
- }
- }
+ "type": "string",
+ "format": "textarea",
+ "default": "{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}"
}
}
},
@@ -198,57 +134,25 @@
"title": "artifact name",
"type": "string",
"default": "baseconfiguration",
- "readOnly": "True"
+ "readOnly": true
},
"artifact_version": {
"title": "artifact version",
"type": "string",
"default": "1.0.0",
- "readOnly": "True"
+ "readOnly": true
},
"mode": {
"title": "mode",
"type": "string",
- "default": "async"
+ "default": "async",
+ "readOnly": false
},
"data": {
"title": "data",
- "properties": {
- "resource-assignment-properties": {
- "title": "resource-assignment-properties",
- "type": "object",
- "properties": {
- "request-id": {
- "title": "request-id",
- "type": "string"
- },
- "service-instance-id": {
- "title": "service-instance-id",
- "type": "string"
- },
- "vnf-id": {
- "title": "vnf-id",
- "type": "string"
- },
- "action-name": {
- "title": "action-name",
- "type": "string"
- },
- "scope-type": {
- "title": "scope-type",
- "type": "string"
- },
- "hostname": {
- "title": "hostname",
- "type": "string"
- },
- "vnf_name": {
- "title": "vnf_name",
- "type": "string"
- }
- }
- }
- }
+ "type": "string",
+ "format": "textarea",
+ "default": "{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}"
}
}
},
@@ -259,57 +163,25 @@
"title": "artifact name",
"type": "string",
"default": "baseconfiguration",
- "readOnly": "True"
+ "readOnly": true
},
"artifact_version": {
"title": "artifact version",
"type": "string",
"default": "1.0.0",
- "readOnly": "True"
+ "readOnly": true
},
"mode": {
"title": "mode",
"type": "string",
- "default": "async"
+ "default": "async",
+ "readOnly": false
},
"data": {
"title": "data",
- "properties": {
- "resource-assignment-properties": {
- "title": "resource-assignment-properties",
- "type": "object",
- "properties": {
- "request-id": {
- "title": "request-id",
- "type": "string"
- },
- "service-instance-id": {
- "title": "service-instance-id",
- "type": "string"
- },
- "vnf-id": {
- "title": "vnf-id",
- "type": "string"
- },
- "action-name": {
- "title": "action-name",
- "type": "string"
- },
- "scope-type": {
- "title": "scope-type",
- "type": "string"
- },
- "hostname": {
- "title": "hostname",
- "type": "string"
- },
- "vnf_name": {
- "title": "vnf_name",
- "type": "string"
- }
- }
- }
- }
+ "type": "string",
+ "format": "textarea",
+ "default": "{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}"
}
}
},
@@ -320,57 +192,25 @@
"title": "artifact name",
"type": "string",
"default": "baseconfiguration",
- "readOnly": "True"
+ "readOnly": true
},
"artifact_version": {
"title": "artifact version",
"type": "string",
"default": "1.0.0",
- "readOnly": "True"
+ "readOnly": true
},
"mode": {
"title": "mode",
"type": "string",
- "default": "async"
+ "default": "async",
+ "readOnly": false
},
"data": {
"title": "data",
- "properties": {
- "resource-assignment-properties": {
- "title": "resource-assignment-properties",
- "type": "object",
- "properties": {
- "request-id": {
- "title": "request-id",
- "type": "string"
- },
- "service-instance-id": {
- "title": "service-instance-id",
- "type": "string"
- },
- "vnf-id": {
- "title": "vnf-id",
- "type": "string"
- },
- "action-name": {
- "title": "action-name",
- "type": "string"
- },
- "scope-type": {
- "title": "scope-type",
- "type": "string"
- },
- "hostname": {
- "title": "hostname",
- "type": "string"
- },
- "vnf_name": {
- "title": "vnf_name",
- "type": "string"
- }
- }
- }
- }
+ "type": "string",
+ "format": "textarea",
+ "default": "{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}"
}
}
},
@@ -381,57 +221,25 @@
"title": "artifact name",
"type": "string",
"default": "baseconfiguration",
- "readOnly": "True"
+ "readOnly": true
},
"artifact_version": {
"title": "artifact version",
"type": "string",
"default": "1.0.0",
- "readOnly": "True"
+ "readOnly": true
},
"mode": {
"title": "mode",
"type": "string",
- "default": "async"
+ "default": "async",
+ "readOnly": false
},
"data": {
"title": "data",
- "properties": {
- "resource-assignment-properties": {
- "title": "resource-assignment-properties",
- "type": "object",
- "properties": {
- "request-id": {
- "title": "request-id",
- "type": "string"
- },
- "service-instance-id": {
- "title": "service-instance-id",
- "type": "string"
- },
- "vnf-id": {
- "title": "vnf-id",
- "type": "string"
- },
- "action-name": {
- "title": "action-name",
- "type": "string"
- },
- "scope-type": {
- "title": "scope-type",
- "type": "string"
- },
- "hostname": {
- "title": "hostname",
- "type": "string"
- },
- "vnf_name": {
- "title": "vnf_name",
- "type": "string"
- }
- }
- }
- }
+ "type": "string",
+ "format": "textarea",
+ "default": "{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}"
}
}
}
diff --git a/src/test/resources/tosca/operational-policy-cds-payload-with-list.json b/src/test/resources/tosca/operational-policy-cds-payload-with-list.json
index 24269ec7..13b468ea 100644
--- a/src/test/resources/tosca/operational-policy-cds-payload-with-list.json
+++ b/src/test/resources/tosca/operational-policy-cds-payload-with-list.json
@@ -258,7 +258,7 @@
}
},
"payload": {
- "title": "Payload (YAML)",
+ "title": "Payload",
"type": "object",
"properties": {
"artifact_name": {
@@ -297,15 +297,9 @@
}
}
},
- "resource-assignment-properties": {
- "title": "resource-assignment-properties",
- "type": "object",
- "properties": {
- "private1-prefix-id": {
- "title": "private1-prefix-id",
- "type": "string"
- }
- }
+ "private1-prefix-id": {
+ "title": "private1-prefix-id",
+ "type": "string"
}
}
}
diff --git a/src/test/resources/tosca/operational-policy-json-schema.json b/src/test/resources/tosca/operational-policy-json-schema.json
index 87457f1d..9dee089e 100644
--- a/src/test/resources/tosca/operational-policy-json-schema.json
+++ b/src/test/resources/tosca/operational-policy-json-schema.json
@@ -258,7 +258,7 @@
}
},
"payload": {
- "title": "Payload (YAML)",
+ "title": "Payload",
"type": "object",
"properties": {
"artifact_name": {
@@ -281,39 +281,33 @@
"data": {
"title": "data",
"properties": {
- "resource-assignment-properties": {
- "title": "resource-assignment-properties",
- "type": "object",
- "properties": {
- "request-id": {
- "title": "request-id",
- "type": "string"
- },
- "service-instance-id": {
- "title": "service-instance-id",
- "type": "string"
- },
- "vnf-id": {
- "title": "vnf-id",
- "type": "string"
- },
- "action-name": {
- "title": "action-name",
- "type": "string"
- },
- "scope-type": {
- "title": "scope-type",
- "type": "string"
- },
- "hostname": {
- "title": "hostname",
- "type": "string"
- },
- "vnf_name": {
- "title": "vnf_name",
- "type": "string"
- }
- }
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
}
}
}
@@ -334,7 +328,7 @@
}
},
"payload": {
- "title": "Payload (YAML)",
+ "title": "Payload",
"type": "object",
"properties": {
"artifact_name": {
@@ -357,39 +351,33 @@
"data": {
"title": "data",
"properties": {
- "resource-assignment-properties": {
- "title": "resource-assignment-properties",
- "type": "object",
- "properties": {
- "request-id": {
- "title": "request-id",
- "type": "string"
- },
- "service-instance-id": {
- "title": "service-instance-id",
- "type": "string"
- },
- "vnf-id": {
- "title": "vnf-id",
- "type": "string"
- },
- "action-name": {
- "title": "action-name",
- "type": "string"
- },
- "scope-type": {
- "title": "scope-type",
- "type": "string"
- },
- "hostname": {
- "title": "hostname",
- "type": "string"
- },
- "vnf_name": {
- "title": "vnf_name",
- "type": "string"
- }
- }
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
}
}
}
@@ -410,7 +398,7 @@
}
},
"payload": {
- "title": "Payload (YAML)",
+ "title": "Payload",
"type": "object",
"properties": {
"artifact_name": {
@@ -433,39 +421,33 @@
"data": {
"title": "data",
"properties": {
- "resource-assignment-properties": {
- "title": "resource-assignment-properties",
- "type": "object",
- "properties": {
- "request-id": {
- "title": "request-id",
- "type": "string"
- },
- "service-instance-id": {
- "title": "service-instance-id",
- "type": "string"
- },
- "vnf-id": {
- "title": "vnf-id",
- "type": "string"
- },
- "action-name": {
- "title": "action-name",
- "type": "string"
- },
- "scope-type": {
- "title": "scope-type",
- "type": "string"
- },
- "hostname": {
- "title": "hostname",
- "type": "string"
- },
- "vnf_name": {
- "title": "vnf_name",
- "type": "string"
- }
- }
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
}
}
}
@@ -486,7 +468,7 @@
}
},
"payload": {
- "title": "Payload (YAML)",
+ "title": "Payload",
"type": "object",
"properties": {
"artifact_name": {
@@ -509,39 +491,33 @@
"data": {
"title": "data",
"properties": {
- "resource-assignment-properties": {
- "title": "resource-assignment-properties",
- "type": "object",
- "properties": {
- "request-id": {
- "title": "request-id",
- "type": "string"
- },
- "service-instance-id": {
- "title": "service-instance-id",
- "type": "string"
- },
- "vnf-id": {
- "title": "vnf-id",
- "type": "string"
- },
- "action-name": {
- "title": "action-name",
- "type": "string"
- },
- "scope-type": {
- "title": "scope-type",
- "type": "string"
- },
- "hostname": {
- "title": "hostname",
- "type": "string"
- },
- "vnf_name": {
- "title": "vnf_name",
- "type": "string"
- }
- }
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
}
}
}
@@ -562,7 +538,7 @@
}
},
"payload": {
- "title": "Payload (YAML)",
+ "title": "Payload",
"type": "object",
"properties": {
"artifact_name": {
@@ -585,39 +561,33 @@
"data": {
"title": "data",
"properties": {
- "resource-assignment-properties": {
- "title": "resource-assignment-properties",
- "type": "object",
- "properties": {
- "request-id": {
- "title": "request-id",
- "type": "string"
- },
- "service-instance-id": {
- "title": "service-instance-id",
- "type": "string"
- },
- "vnf-id": {
- "title": "vnf-id",
- "type": "string"
- },
- "action-name": {
- "title": "action-name",
- "type": "string"
- },
- "scope-type": {
- "title": "scope-type",
- "type": "string"
- },
- "hostname": {
- "title": "hostname",
- "type": "string"
- },
- "vnf_name": {
- "title": "vnf_name",
- "type": "string"
- }
- }
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
}
}
}
@@ -638,7 +608,7 @@
}
},
"payload": {
- "title": "Payload (YAML)",
+ "title": "Payload",
"type": "object",
"properties": {
"artifact_name": {
@@ -661,39 +631,33 @@
"data": {
"title": "data",
"properties": {
- "resource-assignment-properties": {
- "title": "resource-assignment-properties",
- "type": "object",
- "properties": {
- "request-id": {
- "title": "request-id",
- "type": "string"
- },
- "service-instance-id": {
- "title": "service-instance-id",
- "type": "string"
- },
- "vnf-id": {
- "title": "vnf-id",
- "type": "string"
- },
- "action-name": {
- "title": "action-name",
- "type": "string"
- },
- "scope-type": {
- "title": "scope-type",
- "type": "string"
- },
- "hostname": {
- "title": "hostname",
- "type": "string"
- },
- "vnf_name": {
- "title": "vnf_name",
- "type": "string"
- }
- }
+ "request-id": {
+ "title": "request-id",
+ "type": "string"
+ },
+ "service-instance-id": {
+ "title": "service-instance-id",
+ "type": "string"
+ },
+ "vnf-id": {
+ "title": "vnf-id",
+ "type": "string"
+ },
+ "action-name": {
+ "title": "action-name",
+ "type": "string"
+ },
+ "scope-type": {
+ "title": "scope-type",
+ "type": "string"
+ },
+ "hostname": {
+ "title": "hostname",
+ "type": "string"
+ },
+ "vnf_name": {
+ "title": "vnf_name",
+ "type": "string"
}
}
}
diff --git a/src/test/resources/tosca/operational-policy-payload-legacy.yaml b/src/test/resources/tosca/operational-policy-payload-legacy.yaml
index 72bbf9ba..1108ec8b 100644
--- a/src/test/resources/tosca/operational-policy-payload-legacy.yaml
+++ b/src/test/resources/tosca/operational-policy-payload-legacy.yaml
@@ -50,15 +50,7 @@ policies:
payload:
artifact_name: baseconfiguration
artifact_version: 1.0.0
- data:
- resource-assignment-properties:
- action-name: action-name
- hostname: hostname
- request-id: request-id
- scope-type: scope-type
- service-instance-id: service-instance-id
- vnf-id: vnf-id
- vnf_name: vnf_name
+ data: '{"resource-assignment-properties":{"request-id":"request-id","service-instance-id":"service-instance-id","vnf-id":"vnf-id","action-name":"action-name","scope-type":"scope-type","hostname":"hostname","vnf_name":"vnf_name"}}'
mode: async
recipe: resource-assignment
retry: 0
@@ -72,3 +64,27 @@ policies:
resourceID: Vloadbalancerms..vpkg..module-1
type: VFMODULE
timeout: 0
+- actor: CDS
+ failure: final_failure
+ failure_exception: final_failure_exception
+ failure_guard: final_failure_guard
+ failure_retries: final_failure_retries
+ failure_timeout: final_failure_timeout
+ id: policy4
+ payload:
+ artifact_name: baseconfiguration
+ artifact_version: 1.0.0
+ data: '{}'
+ mode: async
+ recipe: modify-config
+ retry: 0
+ success: final_success
+ target:
+ modelCustomizationId: 1bffdc31-a37d-4dee-b65c-dde623a76e52
+ modelInvariantId: ca052563-eb92-4b5b-ad41-9111768ce043
+ modelName: Vloadbalancerms..vpkg..module-1
+ modelVersion: 1
+ modelVersionId: 1e725ccc-b823-4f67-82b9-4f4367070dbc
+ resourceID: Vloadbalancerms..vpkg..module-1
+ type: VFMODULE
+ timeout: 0
diff --git a/src/test/resources/tosca/operational-policy-payload.json b/src/test/resources/tosca/operational-policy-payload.json
index e53950af..0bb5582e 100644
--- a/src/test/resources/tosca/operational-policy-payload.json
+++ b/src/test/resources/tosca/operational-policy-payload.json
@@ -1,4 +1,4 @@
{
"policy-id": "testPolicy.legacy",
- "content": "controlLoop%3A%0A++abatement%3A+true%0A++controlLoopName%3A+LOOP_ASJOy_v1_0_ResourceInstanceName1_tca%0A++timeout%3A+0%0A++trigger_policy%3A+policy1%0Apolicies%3A%0A-+actor%3A+APPC%0A++failure%3A+policy2%0A++failure_exception%3A+final_failure_exception%0A++failure_guard%3A+final_failure_guard%0A++failure_retries%3A+final_failure_retries%0A++failure_timeout%3A+final_failure_timeout%0A++id%3A+policy1%0A++payload%3A%0A++++configurationParameters%3A+%27%5B%7B%22ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B10%5D.value%22%2C%22oam-ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B15%5D.value%22%2C%22enabled%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B22%5D.value%22%7D%5D%27%0A++++requestParameters%3A+%27%7B%22usePreload%22%3Atrue%2C%22userParams%22%3A%5B%5D%7D%27%0A++recipe%3A+Restart%0A++retry%3A+0%0A++success%3A+final_success%0A++target%3A%0A++++resourceID%3A+vLoadBalancerMS%0A++++type%3A+VNF%0A++timeout%3A+0%0A-+actor%3A+SO%0A++failure%3A+final_failure%0A++failure_exception%3A+final_failure_exception%0A++failure_guard%3A+final_failure_guard%0A++failure_retries%3A+final_failure_retries%0A++failure_timeout%3A+final_failure_timeout%0A++id%3A+policy2%0A++recipe%3A+VF+Module+Create%0A++retry%3A+0%0A++success%3A+final_success%0A++target%3A%0A++++modelCustomizationId%3A+1bffdc31-a37d-4dee-b65c-dde623a76e52%0A++++modelInvariantId%3A+ca052563-eb92-4b5b-ad41-9111768ce043%0A++++modelName%3A+Vloadbalancerms..vpkg..module-1%0A++++modelVersion%3A+1%0A++++modelVersionId%3A+1e725ccc-b823-4f67-82b9-4f4367070dbc%0A++++resourceID%3A+Vloadbalancerms..vpkg..module-1%0A++++type%3A+VFMODULE%0A++timeout%3A+0%0A-+actor%3A+CDS%0A++failure%3A+final_failure%0A++failure_exception%3A+final_failure_exception%0A++failure_guard%3A+final_failure_guard%0A++failure_retries%3A+final_failure_retries%0A++failure_timeout%3A+final_failure_timeout%0A++id%3A+policy3%0A++payload%3A%0A++++artifact_name%3A+baseconfiguration%0A++++artifact_version%3A+1.0.0%0A++++data%3A%0A++++++resource-assignment-properties%3A%0A++++++++action-name%3A+action-name%0A++++++++hostname%3A+hostname%0A++++++++request-id%3A+request-id%0A++++++++scope-type%3A+scope-type%0A++++++++service-instance-id%3A+service-instance-id%0A++++++++vnf-id%3A+vnf-id%0A++++++++vnf_name%3A+vnf_name%0A++++mode%3A+async%0A++recipe%3A+resource-assignment%0A++retry%3A+0%0A++success%3A+final_success%0A++target%3A%0A++++modelCustomizationId%3A+1bffdc31-a37d-4dee-b65c-dde623a76e52%0A++++modelInvariantId%3A+ca052563-eb92-4b5b-ad41-9111768ce043%0A++++modelName%3A+Vloadbalancerms..vpkg..module-1%0A++++modelVersion%3A+1%0A++++modelVersionId%3A+1e725ccc-b823-4f67-82b9-4f4367070dbc%0A++++resourceID%3A+Vloadbalancerms..vpkg..module-1%0A++++type%3A+VFMODULE%0A++timeout%3A+0%0A"
+ "content": "controlLoop%3A%0A++abatement%3A+true%0A++controlLoopName%3A+LOOP_ASJOy_v1_0_ResourceInstanceName1_tca%0A++timeout%3A+0%0A++trigger_policy%3A+policy1%0Apolicies%3A%0A-+actor%3A+APPC%0A++failure%3A+policy2%0A++failure_exception%3A+final_failure_exception%0A++failure_guard%3A+final_failure_guard%0A++failure_retries%3A+final_failure_retries%0A++failure_timeout%3A+final_failure_timeout%0A++id%3A+policy1%0A++payload%3A%0A++++configurationParameters%3A+%27%5B%7B%22ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B10%5D.value%22%2C%22oam-ip-addr%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B15%5D.value%22%2C%22enabled%22%3A%22%24.vf-module-topology.vf-module-parameters.param%5B22%5D.value%22%7D%5D%27%0A++++requestParameters%3A+%27%7B%22usePreload%22%3Atrue%2C%22userParams%22%3A%5B%5D%7D%27%0A++recipe%3A+Restart%0A++retry%3A+0%0A++success%3A+final_success%0A++target%3A%0A++++resourceID%3A+vLoadBalancerMS%0A++++type%3A+VNF%0A++timeout%3A+0%0A-+actor%3A+SO%0A++failure%3A+final_failure%0A++failure_exception%3A+final_failure_exception%0A++failure_guard%3A+final_failure_guard%0A++failure_retries%3A+final_failure_retries%0A++failure_timeout%3A+final_failure_timeout%0A++id%3A+policy2%0A++recipe%3A+VF+Module+Create%0A++retry%3A+0%0A++success%3A+final_success%0A++target%3A%0A++++modelCustomizationId%3A+1bffdc31-a37d-4dee-b65c-dde623a76e52%0A++++modelInvariantId%3A+ca052563-eb92-4b5b-ad41-9111768ce043%0A++++modelName%3A+Vloadbalancerms..vpkg..module-1%0A++++modelVersion%3A+1%0A++++modelVersionId%3A+1e725ccc-b823-4f67-82b9-4f4367070dbc%0A++++resourceID%3A+Vloadbalancerms..vpkg..module-1%0A++++type%3A+VFMODULE%0A++timeout%3A+0%0A-+actor%3A+CDS%0A++failure%3A+final_failure%0A++failure_exception%3A+final_failure_exception%0A++failure_guard%3A+final_failure_guard%0A++failure_retries%3A+final_failure_retries%0A++failure_timeout%3A+final_failure_timeout%0A++id%3A+policy3%0A++payload%3A%0A++++artifact_name%3A+baseconfiguration%0A++++artifact_version%3A+1.0.0%0A++++data%3A+%27%7B%22resource-assignment-properties%22%3A%7B%22request-id%22%3A%22request-id%22%2C%22service-instance-id%22%3A%22service-instance-id%22%2C%22vnf-id%22%3A%22vnf-id%22%2C%22action-name%22%3A%22action-name%22%2C%22scope-type%22%3A%22scope-type%22%2C%22hostname%22%3A%22hostname%22%2C%22vnf_name%22%3A%22vnf_name%22%7D%7D%27%0A++++mode%3A+async%0A++recipe%3A+resource-assignment%0A++retry%3A+0%0A++success%3A+final_success%0A++target%3A%0A++++modelCustomizationId%3A+1bffdc31-a37d-4dee-b65c-dde623a76e52%0A++++modelInvariantId%3A+ca052563-eb92-4b5b-ad41-9111768ce043%0A++++modelName%3A+Vloadbalancerms..vpkg..module-1%0A++++modelVersion%3A+1%0A++++modelVersionId%3A+1e725ccc-b823-4f67-82b9-4f4367070dbc%0A++++resourceID%3A+Vloadbalancerms..vpkg..module-1%0A++++type%3A+VFMODULE%0A++timeout%3A+0%0A-+actor%3A+CDS%0A++failure%3A+final_failure%0A++failure_exception%3A+final_failure_exception%0A++failure_guard%3A+final_failure_guard%0A++failure_retries%3A+final_failure_retries%0A++failure_timeout%3A+final_failure_timeout%0A++id%3A+policy4%0A++payload%3A%0A++++artifact_name%3A+baseconfiguration%0A++++artifact_version%3A+1.0.0%0A++++data%3A+%27%7B%7D%27%0A++++mode%3A+async%0A++recipe%3A+modify-config%0A++retry%3A+0%0A++success%3A+final_success%0A++target%3A%0A++++modelCustomizationId%3A+1bffdc31-a37d-4dee-b65c-dde623a76e52%0A++++modelInvariantId%3A+ca052563-eb92-4b5b-ad41-9111768ce043%0A++++modelName%3A+Vloadbalancerms..vpkg..module-1%0A++++modelVersion%3A+1%0A++++modelVersionId%3A+1e725ccc-b823-4f67-82b9-4f4367070dbc%0A++++resourceID%3A+Vloadbalancerms..vpkg..module-1%0A++++type%3A+VFMODULE%0A++timeout%3A+0%0A"
} \ No newline at end of file
diff --git a/src/test/resources/tosca/operational-policy-payload.yaml b/src/test/resources/tosca/operational-policy-payload.yaml
index aaa96276..a756b57d 100644
--- a/src/test/resources/tosca/operational-policy-payload.yaml
+++ b/src/test/resources/tosca/operational-policy-payload.yaml
@@ -73,12 +73,28 @@ topology_template:
artifact_name: baseconfiguration
artifact_version: 1.0.0
mode: async
- data:
- resource-assignment-properties:
- request-id: request-id
- service-instance-id: service-instance-id
- vnf-id: vnf-id
- action-name: action-name
- scope-type: scope-type
- hostname: hostname
- vnf_name: vnf_name
+ data: '{"resource-assignment-properties":{"request-id":"request-id","service-instance-id":"service-instance-id","vnf-id":"vnf-id","action-name":"action-name","scope-type":"scope-type","hostname":"hostname","vnf_name":"vnf_name"}}'
+ - id: policy4
+ retry: '0'
+ timeout: '0'
+ success: final_success
+ failure: final_failure
+ failure_timeout: final_failure_timeout
+ failure_retries: final_failure_retries
+ failure_exception: final_failure_exception
+ failure_guard: final_failure_guard
+ target:
+ type: VFMODULE
+ resourceID: Vloadbalancerms..vpkg..module-1
+ modelInvariantId: ca052563-eb92-4b5b-ad41-9111768ce043
+ modelVersionId: 1e725ccc-b823-4f67-82b9-4f4367070dbc
+ modelName: Vloadbalancerms..vpkg..module-1
+ modelVersion: '1'
+ modelCustomizationId: 1bffdc31-a37d-4dee-b65c-dde623a76e52
+ actor: CDS
+ recipe: modify-config
+ payload:
+ artifact_name: baseconfiguration
+ artifact_version: 1.0.0
+ mode: async
+ data: '{}'
diff --git a/src/test/resources/tosca/operational-policy-properties.json b/src/test/resources/tosca/operational-policy-properties.json
index 2777a158..aaf9dc37 100644
--- a/src/test/resources/tosca/operational-policy-properties.json
+++ b/src/test/resources/tosca/operational-policy-properties.json
@@ -93,6 +93,39 @@
"modelVersion": "1",
"modelCustomizationId": "1bffdc31-a37d-4dee-b65c-dde623a76e52"
}
+ },
+ {
+ "actor": {
+ "actor": "CDS",
+ "recipe": {
+ "recipe": "modify-config",
+ "payload": {
+ "artifact_name": "baseconfiguration",
+ "artifact_version": "1.0.0",
+ "mode": "async",
+ "data": {
+ }
+ }
+ }
+ },
+ "id": "policy4",
+ "retry": "0",
+ "timeout": "0",
+ "success": "final_success",
+ "failure": "final_failure",
+ "failure_timeout": "final_failure_timeout",
+ "failure_retries": "final_failure_retries",
+ "failure_exception": "final_failure_exception",
+ "failure_guard": "final_failure_guard",
+ "target": {
+ "type": "VFMODULE",
+ "resourceID": "Vloadbalancerms..vpkg..module-1",
+ "modelInvariantId": "ca052563-eb92-4b5b-ad41-9111768ce043",
+ "modelVersionId": "1e725ccc-b823-4f67-82b9-4f4367070dbc",
+ "modelName": "Vloadbalancerms..vpkg..module-1",
+ "modelVersion": "1",
+ "modelCustomizationId": "1bffdc31-a37d-4dee-b65c-dde623a76e52"
+ }
}
]
},