aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--policy-regression-tests/policy-clamp-regression/pom.xml4
-rw-r--r--policy-regression-tests/policy-clamp-regression/src/test/java/org/onap/policy/clamp/regression/AcmRegressionTests.java (renamed from policy-regression-tests/policy-clamp-regression/src/test/java/org.onap.policy.clamp.regression/AcmRegressionTests.java)0
-rw-r--r--policy-regression-tests/policy-clamp-regression/src/test/java/org/onap/policy/clamp/regression/StepDefinitions.java (renamed from policy-regression-tests/policy-clamp-regression/src/test/java/org.onap.policy.clamp.regression/StepDefinitions.java)132
-rw-r--r--policy-regression-tests/policy-clamp-regression/src/test/java/org/onap/policy/clamp/regression/util/RestUtils.java59
-rw-r--r--policy-regression-tests/policy-clamp-regression/src/test/resources/data/AcInstantiate.json35
-rw-r--r--policy-regression-tests/policy-clamp-regression/src/test/resources/data/AcMigrateInstance.json35
-rw-r--r--policy-regression-tests/policy-clamp-regression/src/test/resources/data/AcUpdateProperty.json35
-rw-r--r--policy-regression-tests/policy-clamp-regression/src/test/resources/data/acelement-usecase1.json1155
-rw-r--r--policy-regression-tests/policy-clamp-regression/src/test/resources/data/acelement-usecase2.json1155
9 files changed, 185 insertions, 2425 deletions
diff --git a/policy-regression-tests/policy-clamp-regression/pom.xml b/policy-regression-tests/policy-clamp-regression/pom.xml
index 850c748f..22393273 100644
--- a/policy-regression-tests/policy-clamp-regression/pom.xml
+++ b/policy-regression-tests/policy-clamp-regression/pom.xml
@@ -15,9 +15,9 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <version.cucumber>7.15.0</version.cucumber>
+ <version.cucumber>7.20.1</version.cucumber>
<version.rest-assured>5.4.0</version.rest-assured>
- <version.junit-platform>1.10.2</version.junit-platform>
+ <version.junit-platform>1.11.4</version.junit-platform>
<tests.skip>true</tests.skip>
</properties>
diff --git a/policy-regression-tests/policy-clamp-regression/src/test/java/org.onap.policy.clamp.regression/AcmRegressionTests.java b/policy-regression-tests/policy-clamp-regression/src/test/java/org/onap/policy/clamp/regression/AcmRegressionTests.java
index 90ec0ce5..90ec0ce5 100644
--- a/policy-regression-tests/policy-clamp-regression/src/test/java/org.onap.policy.clamp.regression/AcmRegressionTests.java
+++ b/policy-regression-tests/policy-clamp-regression/src/test/java/org/onap/policy/clamp/regression/AcmRegressionTests.java
diff --git a/policy-regression-tests/policy-clamp-regression/src/test/java/org.onap.policy.clamp.regression/StepDefinitions.java b/policy-regression-tests/policy-clamp-regression/src/test/java/org/onap/policy/clamp/regression/StepDefinitions.java
index b8454592..d0af3a6c 100644
--- a/policy-regression-tests/policy-clamp-regression/src/test/java/org.onap.policy.clamp.regression/StepDefinitions.java
+++ b/policy-regression-tests/policy-clamp-regression/src/test/java/org/onap/policy/clamp/regression/StepDefinitions.java
@@ -1,6 +1,6 @@
/*-
* ============LICENSE_START=======================================================
- * Copyright (C) 2024 Nordix Foundation. All rights reserved.
+ * Copyright (C) 2024-2025 Nordix Foundation. 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.
@@ -20,15 +20,12 @@
package org.onap.policy.clamp.regression;
-import static io.restassured.config.EncoderConfig.encoderConfig;
-import static org.hamcrest.MatcherAssert.assertThat;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import io.cucumber.java.en.Then;
import io.cucumber.java.en.When;
-import io.restassured.RestAssured;
-import io.restassured.http.ContentType;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.io.IOException;
@@ -37,12 +34,9 @@ import java.nio.file.Path;
import java.util.concurrent.TimeUnit;
import org.json.JSONException;
import org.json.JSONObject;
-
+import org.onap.policy.clamp.regression.util.RestUtils;
public class StepDefinitions {
- private static final String acmUrl = "http://localhost:30007/";
- private static final String username = "runtimeUser";
- private static final String password = "zb!XztG34";
private static String compositionId;
private static String instanceId;
private static String targetCompositionId;
@@ -54,10 +48,7 @@ public class StepDefinitions {
*/
@When("the acm health check endpoint is invoked {string}")
public void isAcmEndpointRunning(String endpoint) {
- response = RestAssured.given()
- .auth().basic(username, password)
- .baseUri(acmUrl)
- .get(endpoint);
+ response = RestUtils.getRequestSpecification().get(endpoint);
}
/**
@@ -66,14 +57,7 @@ public class StepDefinitions {
@When("the ACM commissioning endpoint {string} is invoked with {string} {string}")
public void commissioningIsAccepted(String endpoint, String filePath, String isMigration) throws IOException {
var jsonContent = new String(Files.readAllBytes(Path.of(filePath)));
- response = RestAssured.given()
- .config(RestAssured.config().encoderConfig(encoderConfig()
- .encodeContentTypeAs("", ContentType.JSON)))
- .auth().basic(username, password)
- .contentType(ContentType.JSON)
- .accept(ContentType.JSON)
- .baseUri(acmUrl)
- .body(jsonContent)
+ response = RestUtils.getRsJson(jsonContent)
.post(endpoint);
var jsonPath = new JsonPath(response.getBody().asString());
if (Boolean.parseBoolean(isMigration)) {
@@ -88,10 +72,7 @@ public class StepDefinitions {
*/
@When("the register participants endpoint is invoked {string}")
public void registerParticipants(String endpoint) {
- response = RestAssured.given()
- .auth().basic(username, password)
- .baseUri(acmUrl)
- .put(endpoint);
+ response = RestUtils.getRequestSpecification().put(endpoint);
}
/**
@@ -100,14 +81,7 @@ public class StepDefinitions {
@When("the ACM participants are primed {string} {string}")
public void primeTheParticipants(String endpoint, String isMigration) throws JSONException {
var jsonBody = new JSONObject().put("primeOrder", "PRIME");
- response = RestAssured.given()
- .config(RestAssured.config().encoderConfig(encoderConfig()
- .encodeContentTypeAs("", ContentType.JSON)))
- .auth().basic(username, password)
- .contentType(ContentType.JSON)
- .accept(ContentType.JSON)
- .baseUri(acmUrl)
- .body(jsonBody.toString())
+ response = RestUtils.getRsJson(jsonBody.toString())
.put(endpoint.replace("{compositionId}",
Boolean.parseBoolean(isMigration) ? targetCompositionId : compositionId));
}
@@ -117,9 +91,7 @@ public class StepDefinitions {
*/
@When("the ACM composition is fetched {string}")
public void fetchCompositionById(String endpoint) {
- response = RestAssured.given()
- .auth().basic(username, password)
- .baseUri(acmUrl)
+ response = RestUtils.getRequestSpecification()
.get(endpoint.replace("{compositionId}", compositionId));
}
@@ -145,8 +117,7 @@ public class StepDefinitions {
conditionMet = keyword.equals(jsonPath.getString("deployState"));
if (!conditionMet) {
Thread.sleep(10000); // Wait for 10 second before retrying
- fetchAcInstanceById(endpoint,
- Boolean.parseBoolean(isMigration) ? targetCompositionId : compositionId);
+ fetchAcInstanceById(endpoint, isMigration);
}
}
default -> {
@@ -157,21 +128,14 @@ public class StepDefinitions {
assertTrue(conditionMet);
}
-
/**
* Verify AC instantiation.
*/
@When("the ACM instance is created {string} with {string}")
public void instantiate(String endpoint, String filePath) throws IOException {
var jsonContent = new String(Files.readAllBytes(Path.of(filePath)));
- response = RestAssured.given()
- .config(RestAssured.config().encoderConfig(encoderConfig()
- .encodeContentTypeAs("", ContentType.JSON)))
- .auth().basic(username, password)
- .contentType(ContentType.JSON)
- .accept(ContentType.JSON)
- .baseUri(acmUrl)
- .body(jsonContent.replace("COMPOSITIONIDPLACEHOLDER", compositionId))
+ response = RestUtils
+ .getRsJson(jsonContent.replace("COMPOSITIONIDPLACEHOLDER", compositionId))
.post(endpoint.replace("{compositionId}", compositionId));
var jsonPath = new JsonPath(response.getBody().asString());
instanceId = jsonPath.getString("instanceId");
@@ -183,14 +147,8 @@ public class StepDefinitions {
@When("the AC instance property is updated {string} {string}")
public void updateInstanceProperty(String endpoint, String filePath) throws IOException {
var jsonContent = new String(Files.readAllBytes(Path.of(filePath)));
- response = RestAssured.given()
- .config(RestAssured.config().encoderConfig(encoderConfig()
- .encodeContentTypeAs("", ContentType.JSON)))
- .auth().basic(username, password)
- .contentType(ContentType.JSON)
- .accept(ContentType.JSON)
- .baseUri(acmUrl)
- .body(jsonContent.replace("COMPOSITIONIDPLACEHOLDER", compositionId)
+ response = RestUtils
+ .getRsJson(jsonContent.replace("COMPOSITIONIDPLACEHOLDER", compositionId)
.replace("INSTANCEIDPLACEHOLDER", instanceId))
.post(endpoint.replace("{compositionId}", compositionId));
var jsonPath = new JsonPath(response.getBody().asString());
@@ -203,14 +161,7 @@ public class StepDefinitions {
@When("the AC instance is deployed {string}")
public void deployAcInstance(String endpoint) throws JSONException {
var jsonBody = new JSONObject().put("deployOrder", "DEPLOY");
- response = RestAssured.given()
- .config(RestAssured.config().encoderConfig(encoderConfig()
- .encodeContentTypeAs("", ContentType.JSON)))
- .auth().basic(username, password)
- .contentType(ContentType.JSON)
- .accept(ContentType.JSON)
- .baseUri(acmUrl)
- .body(jsonBody.toString())
+ response = RestUtils.getRsJson(jsonBody.toString())
.put(endpoint.replace("{compositionId}", compositionId)
.replace("{instanceId}", instanceId));
}
@@ -220,9 +171,7 @@ public class StepDefinitions {
*/
@When("the AC instance is fetched {string} {string}")
public void fetchAcInstanceById(String endpoint, String isMigration) {
- response = RestAssured.given()
- .auth().basic(username, password)
- .baseUri(acmUrl)
+ response = RestUtils.getRequestSpecification()
.get(endpoint.replace("{compositionId}",
Boolean.parseBoolean(isMigration) ? targetCompositionId : compositionId)
.replace("{instanceId}", instanceId));
@@ -234,14 +183,7 @@ public class StepDefinitions {
@When("the AC instance is undeployed {string}")
public void unDeployAcInstance(String endpoint) throws JSONException {
var jsonBody = new JSONObject().put("deployOrder", "UNDEPLOY");
- response = RestAssured.given()
- .config(RestAssured.config().encoderConfig(encoderConfig()
- .encodeContentTypeAs("", ContentType.JSON)))
- .auth().basic(username, password)
- .contentType(ContentType.JSON)
- .accept(ContentType.JSON)
- .baseUri(acmUrl)
- .body(jsonBody.toString())
+ response = RestUtils.getRsJson(jsonBody.toString())
.put(endpoint.replace("{compositionId}", compositionId)
.replace("{instanceId}", instanceId));
}
@@ -251,9 +193,7 @@ public class StepDefinitions {
*/
@When("the ACM instance is uninstantiated {string}")
public void unInstantiate(String endpoint) {
- response = RestAssured.given()
- .auth().basic(username, password)
- .baseUri(acmUrl)
+ response = RestUtils.getRequestSpecification()
.delete(endpoint.replace("{compositionId}", compositionId).replace("{instanceId}", instanceId));
}
@@ -262,9 +202,7 @@ public class StepDefinitions {
*/
@When("all the AC instances are fetched {string}")
public void fetchAllAcInstances(String endpoint) {
- response = RestAssured.given()
- .auth().basic(username, password)
- .baseUri(acmUrl)
+ response = RestUtils.getRequestSpecification()
.get(endpoint.replace("{compositionId}", compositionId));
}
@@ -292,14 +230,7 @@ public class StepDefinitions {
@When("the ACM participants are deprimed {string}")
public void deprimeTheParticipants(String endpoint) throws JSONException {
var jsonBody = new JSONObject().put("primeOrder", "DEPRIME");
- response = RestAssured.given()
- .config(RestAssured.config().encoderConfig(encoderConfig()
- .encodeContentTypeAs("", ContentType.JSON)))
- .auth().basic(username, password)
- .contentType(ContentType.JSON)
- .accept(ContentType.JSON)
- .baseUri(acmUrl)
- .body(jsonBody.toString())
+ response = RestUtils.getRsJson(jsonBody.toString())
.put(endpoint.replace("{compositionId}", compositionId));
}
@@ -307,10 +238,8 @@ public class StepDefinitions {
* Verify deletion of composition defintion.
*/
@When("the AC definition is deleted {string}")
- public void deleteAcDefinition(String endpoint) throws IOException {
- response = RestAssured.given()
- .auth().basic(username, password)
- .baseUri(acmUrl)
+ public void deleteAcDefinition(String endpoint) {
+ response = RestUtils.getRequestSpecification()
.delete(endpoint.replace("{compositionId}", compositionId));
}
@@ -320,14 +249,8 @@ public class StepDefinitions {
@When("the ACM instance is migrated {string} with {string}")
public void migrate(String endpoint, String filePath) throws IOException {
var jsonContent = new String(Files.readAllBytes(Path.of(filePath)));
- response = RestAssured.given()
- .config(RestAssured.config().encoderConfig(encoderConfig()
- .encodeContentTypeAs("", ContentType.JSON)))
- .auth().basic(username, password)
- .contentType(ContentType.JSON)
- .accept(ContentType.JSON)
- .baseUri(acmUrl)
- .body(jsonContent
+ response = RestUtils
+ .getRsJson(jsonContent
.replace("COMPOSITIONIDPLACEHOLDER", compositionId)
.replace("INSTANCEIDPLACEHOLDER", instanceId)
.replace("COMPOSITIONTARGETIDPLACEHOLDER", targetCompositionId))
@@ -339,7 +262,8 @@ public class StepDefinitions {
*/
@Then("the response status code should be {int}")
public void theUserEndpointIsUpAndRunning(int expectedStatus) {
- assertEquals(expectedStatus, response.getStatusCode());
+ var status = response.getStatusCode();
+ assertEquals(expectedStatus, status);
}
/**
@@ -347,8 +271,8 @@ public class StepDefinitions {
*/
@Then("the response should contain the updated properties {string} {string}")
public void theUserEndpointIsUpAndRunning(String value1, String value2) {
- assertThat(value1, response.getBody().asString().contains(value1));
- assertThat(value1, response.getBody().asString().contains(value2));
+ var body = response.getBody().asString();
+ assertThat(body).contains(value1);
+ assertThat(body).contains(value2);
}
-
}
diff --git a/policy-regression-tests/policy-clamp-regression/src/test/java/org/onap/policy/clamp/regression/util/RestUtils.java b/policy-regression-tests/policy-clamp-regression/src/test/java/org/onap/policy/clamp/regression/util/RestUtils.java
new file mode 100644
index 00000000..5fdabfd4
--- /dev/null
+++ b/policy-regression-tests/policy-clamp-regression/src/test/java/org/onap/policy/clamp/regression/util/RestUtils.java
@@ -0,0 +1,59 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2025 Nordix Foundation. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.clamp.regression.util;
+
+import static io.restassured.config.EncoderConfig.encoderConfig;
+
+import io.restassured.RestAssured;
+import io.restassured.http.ContentType;
+import io.restassured.specification.RequestSpecification;
+
+public class RestUtils {
+ private static final String ACM_URL = "http://0.0.0.0:30007/";
+ private static final String USERNAME = "runtimeUser";
+ private static final String PASSWORD = "zb!XztG34";
+
+ /**
+ * Get RequestSpecification with authentication.
+ *
+ * @return a RequestSpecification
+ */
+ public static RequestSpecification getRequestSpecification() {
+ return RestAssured.given()
+ .auth().basic(USERNAME, PASSWORD)
+ .baseUri(ACM_URL);
+ }
+
+ /**
+ * Get RequestSpecification with json.
+ *
+ * @param jsonContent the json body
+ * @return a RequestSpecification
+ */
+ public static RequestSpecification getRsJson(String jsonContent) {
+ return getRequestSpecification()
+ .config(RestAssured.config().encoderConfig(encoderConfig()
+ .encodeContentTypeAs("", ContentType.JSON)))
+ .contentType(ContentType.JSON)
+ .accept(ContentType.JSON)
+ .body(jsonContent);
+ }
+}
diff --git a/policy-regression-tests/policy-clamp-regression/src/test/resources/data/AcInstantiate.json b/policy-regression-tests/policy-clamp-regression/src/test/resources/data/AcInstantiate.json
index 6b0b1553..596298d3 100644
--- a/policy-regression-tests/policy-clamp-regression/src/test/resources/data/AcInstantiate.json
+++ b/policy-regression-tests/policy-clamp-regression/src/test/resources/data/AcInstantiate.json
@@ -7,19 +7,40 @@
"709c62b3-8918-41b9-a747-d21eb79c6c20": {
"id": "709c62b3-8918-41b9-a747-d21eb79c6c20",
"definition": {
- "name": "onap.policy.clamp.ac.element.Policy_AutomationCompositionElement",
+ "name": "onap.policy.clamp.ac.element.Http_AutomationCompositionElement",
"version": "1.2.3"
},
- "description": "Policy Automation Composition Element for the Demo",
+ "description": "Automation composition element for the http requests of AC Element Starter microservice",
"properties": {
- "policy_type_id": {
- "name": "onap.policies.native.Apex",
- "version": "1.0.0"
+ "uninitializedToPassiveTimeout": 180,
+ "baseUrl": "https://api.restful-api.dev",
+ "httpHeaders": {
+ "Content-Type": "application/json",
+ "Authorization": "Basic YWNtVXNlcjp6YiFYenRHMzQ="
},
"policy_id": {
"get_input": "acm_element_policy"
- }
+ },
+ "configurationEntities": [
+ {
+ "configurationEntityId": {
+ "name": "onap.policy.clamp.ac.starter",
+ "version": "1.0.0"
+ },
+ "restSequence": [
+ {
+ "restRequestId": {
+ "name": "request1",
+ "version": "1.0.1"
+ },
+ "httpMethod": "GET",
+ "path": "/objects",
+ "expectedResponse": 200
+ }
+ ]
+ }
+ ]
}
}
}
-} \ No newline at end of file
+}
diff --git a/policy-regression-tests/policy-clamp-regression/src/test/resources/data/AcMigrateInstance.json b/policy-regression-tests/policy-clamp-regression/src/test/resources/data/AcMigrateInstance.json
index 1d505ae5..563fc0f3 100644
--- a/policy-regression-tests/policy-clamp-regression/src/test/resources/data/AcMigrateInstance.json
+++ b/policy-regression-tests/policy-clamp-regression/src/test/resources/data/AcMigrateInstance.json
@@ -9,19 +9,40 @@
"709c62b3-8918-41b9-a747-d21eb79c6c20": {
"id": "709c62b3-8918-41b9-a747-d21eb79c6c20",
"definition": {
- "name": "onap.policy.clamp.ac.element.Policy_AutomationCompositionElement",
+ "name": "onap.policy.clamp.ac.element.Http_AutomationCompositionElement",
"version": "1.2.3"
},
- "description": "Policy Automation Composition Element for the Demo",
+ "description": "Automation composition element for the http requests of AC Element Starter microservice",
"properties": {
- "policy_type_id": {
- "name": "onap.policies.native.Apex",
- "version": "1.0.0"
+ "uninitializedToPassiveTimeout": 180,
+ "baseUrl": "https://api.restful-api.dev",
+ "httpHeaders": {
+ "Content-Type": "application/json",
+ "Authorization": "Basic YWNtVXNlcjp6YiFYenRHMzQ="
},
"policy_id": {
"get_input": "acm_element_policy"
- }
+ },
+ "configurationEntities": [
+ {
+ "configurationEntityId": {
+ "name": "onap.policy.clamp.ac.starter",
+ "version": "1.0.0"
+ },
+ "restSequence": [
+ {
+ "restRequestId": {
+ "name": "request1",
+ "version": "1.0.1"
+ },
+ "httpMethod": "GET",
+ "path": "/objects",
+ "expectedResponse": 200
+ }
+ ]
+ }
+ ]
}
}
}
-} \ No newline at end of file
+}
diff --git a/policy-regression-tests/policy-clamp-regression/src/test/resources/data/AcUpdateProperty.json b/policy-regression-tests/policy-clamp-regression/src/test/resources/data/AcUpdateProperty.json
index a8598aaf..6411c750 100644
--- a/policy-regression-tests/policy-clamp-regression/src/test/resources/data/AcUpdateProperty.json
+++ b/policy-regression-tests/policy-clamp-regression/src/test/resources/data/AcUpdateProperty.json
@@ -8,20 +8,41 @@
"709c62b3-8918-41b9-a747-d21eb79c6c20": {
"id": "709c62b3-8918-41b9-a747-d21eb79c6c20",
"definition": {
- "name": "onap.policy.clamp.ac.element.Policy_AutomationCompositionElement",
+ "name": "onap.policy.clamp.ac.element.Http_AutomationCompositionElement",
"version": "1.2.3"
},
- "description": "Policy Automation Composition Element for the Demo",
+ "description": "Automation composition element for the http requests of AC Element Starter microservice",
"properties": {
- "policy_type_id": {
- "name": "onap.policies.native.Apex",
- "version": "1.0.0"
+ "uninitializedToPassiveTimeout": 180,
+ "baseUrl": "https://api.restful-api.dev",
+ "httpHeaders": {
+ "Content-Type": "application/json",
+ "Authorization": "Basic YWNtVXNlcjp6YiFYenRHMzQ="
},
"policy_id": {
"get_input": "acm_element_policy_updated"
},
- "new_property": "test"
+ "new_property": "test",
+ "configurationEntities": [
+ {
+ "configurationEntityId": {
+ "name": "onap.policy.clamp.ac.starter",
+ "version": "1.0.0"
+ },
+ "restSequence": [
+ {
+ "restRequestId": {
+ "name": "request1",
+ "version": "1.0.1"
+ },
+ "httpMethod": "GET",
+ "path": "/objects",
+ "expectedResponse": 200
+ }
+ ]
+ }
+ ]
}
}
}
-} \ No newline at end of file
+}
diff --git a/policy-regression-tests/policy-clamp-regression/src/test/resources/data/acelement-usecase1.json b/policy-regression-tests/policy-clamp-regression/src/test/resources/data/acelement-usecase1.json
index ff7539f8..e6958cfa 100644
--- a/policy-regression-tests/policy-clamp-regression/src/test/resources/data/acelement-usecase1.json
+++ b/policy-regression-tests/policy-clamp-regression/src/test/resources/data/acelement-usecase1.json
@@ -14,227 +14,6 @@
}
}
},
- "onap.datatypes.native.apex.EngineService": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "name": {
- "type": "string",
- "description": "Specifies the engine name",
- "required": false,
- "default": "ApexEngineService"
- },
- "version": {
- "type": "string",
- "description": "Specifies the engine version in double dotted format",
- "required": false,
- "default": "1.0.0"
- },
- "id": {
- "type": "integer",
- "description": "Specifies the engine id",
- "required": true
- },
- "instance_count": {
- "type": "integer",
- "description": "Specifies the number of engine threads that should be run",
- "required": true
- },
- "deployment_port": {
- "type": "integer",
- "description": "Specifies the port to connect to for engine administration",
- "required": false,
- "default": 1
- },
- "policy_model_file_name": {
- "type": "string",
- "description": "The name of the file from which to read the APEX policy model",
- "required": false
- },
- "policy_type_impl": {
- "type": "string",
- "description": "The policy type implementation from which to read the APEX policy model",
- "required": false
- },
- "periodic_event_period": {
- "type": "string",
- "description": "The time interval in milliseconds for the periodic scanning event, 0 means don't scan",
- "required": false
- },
- "engine": {
- "type": "onap.datatypes.native.apex.engineservice.Engine",
- "description": "The parameters for all engines in the APEX engine service",
- "required": true
- }
- }
- },
- "onap.datatypes.native.apex.EventHandler": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "name": {
- "type": "string",
- "description": "Specifies the event handler name, if not specified this is set to the key name",
- "required": false
- },
- "carrier_technology": {
- "type": "onap.datatypes.native.apex.CarrierTechnology",
- "description": "Specifies the carrier technology of the event handler (such as REST/Web Socket/Kafka)",
- "required": true
- },
- "event_protocol": {
- "type": "onap.datatypes.native.apex.EventProtocol",
- "description": "Specifies the event protocol of events for the event handler (such as Yaml/JSON/XML/POJO)",
- "required": true
- },
- "event_name": {
- "type": "string",
- "description": "Specifies the event name for events on this event handler, if not specified, the event name is read from or written to the event being received or sent",
- "required": false
- },
- "event_name_filter": {
- "type": "string",
- "description": "Specifies a filter as a regular expression, events that do not match the filter are dropped, the default is to let all events through",
- "required": false
- },
- "synchronous_mode": {
- "type": "boolean",
- "description": "Specifies the event handler is syncronous (receive event and send response)",
- "required": false,
- "default": false
- },
- "synchronous_peer": {
- "type": "string",
- "description": "The peer event handler (output for input or input for output) of this event handler in synchronous mode, this parameter is mandatory if the event handler is in synchronous mode",
- "required": false
- },
- "synchronous_timeout": {
- "type": "integer",
- "description": "The timeout in milliseconds for responses to be issued by APEX torequests, this parameter is mandatory if the event handler is in synchronous mode",
- "required": false
- },
- "requestor_mode": {
- "type": "boolean",
- "description": "Specifies the event handler is in requestor mode (send event and wait for response mode)",
- "required": false,
- "default": false
- },
- "requestor_peer": {
- "type": "string",
- "description": "The peer event handler (output for input or input for output) of this event handler in requestor mode, this parameter is mandatory if the event handler is in requestor mode",
- "required": false
- },
- "requestor_timeout": {
- "type": "integer",
- "description": "The timeout in milliseconds for wait for responses to requests, this parameter is mandatory if the event handler is in requestor mode",
- "required": false
- }
- }
- },
- "onap.datatypes.native.apex.CarrierTechnology": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "label": {
- "type": "string",
- "description": "The label (name) of the carrier technology (such as REST, Kafka, WebSocket)",
- "required": true
- },
- "plugin_parameter_class_name": {
- "type": "string",
- "description": "The class name of the class that overrides default handling of event input or output for this carrier technology, defaults to the supplied input or output class",
- "required": false
- }
- }
- },
- "onap.datatypes.native.apex.EventProtocol": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "label": {
- "type": "string",
- "description": "The label (name) of the event protocol (such as Yaml, JSON, XML, or POJO)",
- "required": true
- },
- "event_protocol_plugin_class": {
- "type": "string",
- "description": "The class name of the class that overrides default handling of the event protocol for this carrier technology, defaults to the supplied event protocol class",
- "required": false
- }
- }
- },
- "onap.datatypes.native.apex.Environment": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "name": {
- "type": "string",
- "description": "The name of the environment variable",
- "required": true
- },
- "value": {
- "type": "string",
- "description": "The value of the environment variable",
- "required": true
- }
- }
- },
- "onap.datatypes.native.apex.engineservice.Engine": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "context": {
- "type": "onap.datatypes.native.apex.engineservice.engine.Context",
- "description": "The properties for handling context in APEX engines, defaults to using Java maps for context",
- "required": false
- },
- "executors": {
- "type": "map",
- "description": "The plugins for policy executors used in engines such as javascript, MVEL, Jython",
- "required": true,
- "entry_schema": {
- "description": "The plugin class path for this policy executor",
- "type": "string"
- }
- }
- }
- },
- "onap.datatypes.native.apex.engineservice.engine.Context": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "distributor": {
- "type": "onap.datatypes.native.apex.Plugin",
- "description": "The plugin to be used for distributing context between APEX PDPs at runtime",
- "required": false
- },
- "schemas": {
- "type": "map",
- "description": "The plugins for context schemas available in APEX PDPs such as Java and Avro",
- "required": false,
- "entry_schema": {
- "type": "onap.datatypes.native.apex.Plugin"
- }
- },
- "locking": {
- "type": "onap.datatypes.native.apex.Plugin",
- "description": "The plugin to be used for locking context in and between APEX PDPs at runtime",
- "required": false
- },
- "persistence": {
- "type": "onap.datatypes.native.apex.Plugin",
- "description": "The plugin to be used for persisting context for APEX PDPs at runtime",
- "required": false
- }
- }
- },
- "onap.datatypes.native.apex.Plugin": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "name": {
- "type": "string",
- "description": "The name of the executor such as Javascript, Jython or MVEL",
- "required": true
- },
- "plugin_class_name": {
- "type": "string",
- "description": "The class path of the plugin class for this executor"
- }
- }
- },
"org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest": {
"version": "1.0.0",
"derived_from": "tosca.datatypes.Root",
@@ -297,47 +76,6 @@
}
}
},
- "policy_types": {
- "onap.policies.Native": {
- "derived_from": "tosca.policies.Root",
- "description": "a base policy type for all native PDP policies",
- "version": "1.0.0",
- "name": "onap.policies.Native"
- },
- "onap.policies.native.Apex": {
- "derived_from": "onap.policies.Native",
- "description": "a policy type for native apex policies",
- "version": "1.0.0",
- "name": "onap.policies.native.Apex",
- "properties": {
- "engine_service": {
- "type": "onap.datatypes.native.apex.EngineService",
- "description": "APEX Engine Service Parameters"
- },
- "inputs": {
- "type": "map",
- "description": "Inputs for handling events coming into the APEX engine",
- "entry_schema": {
- "type": "onap.datatypes.native.apex.EventHandler"
- }
- },
- "outputs": {
- "type": "map",
- "description": "Outputs for handling events going out of the APEX engine",
- "entry_schema": {
- "type": "onap.datatypes.native.apex.EventHandler"
- }
- },
- "environment": {
- "type": "list",
- "description": "Envioronmental parameters for the APEX engine",
- "entry_schema": {
- "type": "onap.datatypes.native.apex.Environment"
- }
- }
- }
- }
- },
"node_types": {
"org.onap.policy.clamp.acm.Participant": {
"version": "1.0.1",
@@ -528,16 +266,6 @@
}
},
"topology_template": {
- "inputs": {
- "acm_element_policy": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "description": "The ID of the operational policy to use",
- "default": {
- "name": "onap.policies.native.apex.ac.element",
- "version": "1.0.0"
- }
- }
- },
"node_templates": {
"org.onap.policy.clamp.acm.PolicyParticipant": {
"version": "2.3.1",
@@ -567,7 +295,7 @@
"provider": "ONAP"
}
},
- "onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement": {
+ "onap.policy.clamp.ac.element.K8S_AutomationCompositionElement": {
"version": "1.2.3",
"type": "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement",
"type_version": "1.0.0",
@@ -579,30 +307,6 @@
"podStatusCheckInterval": 30
}
},
- "onap.policy.clamp.ac.element.K8S_BridgeAutomationCompositionElement": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement",
- "type_version": "1.0.0",
- "description": "Automation composition element for the K8S microservice for AC Element Bridge",
- "properties": {
- "provider": "ONAP",
- "startPhase": 0,
- "uninitializedToPassiveTimeout": 300,
- "podStatusCheckInterval": 30
- }
- },
- "onap.policy.clamp.ac.element.K8S_SinkAutomationCompositionElement": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement",
- "type_version": "1.0.0",
- "description": "Automation composition element for the K8S microservice for AC Element Sink",
- "properties": {
- "provider": "ONAP",
- "startPhase": 0,
- "uninitializedToPassiveTimeout": 300,
- "podStatusCheckInterval": 30
- }
- },
"org.onap.policy.clamp.acm.HttpParticipant": {
"version": "2.3.4",
"type": "org.onap.policy.clamp.acm.Participant",
@@ -612,7 +316,7 @@
"provider": "ONAP"
}
},
- "onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement": {
+ "onap.policy.clamp.ac.element.Http_AutomationCompositionElement": {
"version": "1.2.3",
"type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
"type_version": "1.0.0",
@@ -623,28 +327,6 @@
"startPhase": 1
}
},
- "onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
- "type_version": "1.0.0",
- "description": "Automation composition element for the http requests of AC Element Bridge microservice",
- "properties": {
- "provider": "ONAP",
- "uninitializedToPassiveTimeout": 300,
- "startPhase": 1
- }
- },
- "onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
- "type_version": "1.0.0",
- "description": "Automation composition element for the http requests of AC Element Sink microservice",
- "properties": {
- "provider": "ONAP",
- "uninitializedToPassiveTimeout": 300,
- "startPhase": 1
- }
- },
"onap.policy.clamp.ac.element.AutomationCompositionDefinition": {
"version": "1.2.3",
"type": "org.onap.policy.clamp.acm.AutomationComposition",
@@ -658,841 +340,16 @@
"version": "1.2.3"
},
{
- "name": "onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement",
- "version": "1.2.3"
- },
- {
- "name": "onap.policy.clamp.ac.element.K8S_BridgeAutomationCompositionElement",
- "version": "1.2.3"
- },
- {
- "name": "onap.policy.clamp.ac.element.K8S_SinkAutomationCompositionElement",
- "version": "1.2.3"
- },
- {
- "name": "onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement",
+ "name": "onap.policy.clamp.ac.element.K8S_AutomationCompositionElement",
"version": "1.2.3"
},
{
- "name": "onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement",
- "version": "1.2.3"
- },
- {
- "name": "onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement",
+ "name": "onap.policy.clamp.ac.element.Http_AutomationCompositionElement",
"version": "1.2.3"
}
]
}
}
- },
- "policies": [
- {
- "onap.policies.native.apex.ac.element": {
- "type": "onap.policies.native.Apex",
- "type_version": "1.0.0",
- "properties": {
- "engineServiceParameters": {
- "name": "MyApexEngine",
- "version": "0.0.1",
- "id": 45,
- "instanceCount": 2,
- "deploymentPort": 12561,
- "engineParameters": {
- "executorParameters": {
- "JAVASCRIPT": {
- "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
- }
- },
- "contextParameters": {
- "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters",
- "schemaParameters": {
- "Json": {
- "parameterClassName": "org.onap.policy.apex.plugins.context.schema.json.JsonSchemaHelperParameters"
- }
- }
- }
- },
- "policy_type_impl": {
- "policies": {
- "key": {
- "name": "APEXacElementPolicy_Policies",
- "version": "0.0.1"
- },
- "policyMap": {
- "entry": [
- {
- "key": {
- "name": "ReceiveEventPolicy",
- "version": "0.0.1"
- },
- "value": {
- "policyKey": {
- "name": "ReceiveEventPolicy",
- "version": "0.0.1"
- },
- "template": "Freestyle",
- "state": {
- "entry": [
- {
- "key": "DecideForwardingState",
- "value": {
- "stateKey": {
- "parentKeyName": "ReceiveEventPolicy",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "NULL",
- "localName": "DecideForwardingState"
- },
- "trigger": {
- "name": "AcElementEvent",
- "version": "0.0.1"
- },
- "stateOutputs": {
- "entry": [
- {
- "key": "CreateForwardPayload",
- "value": {
- "key": {
- "parentKeyName": "ReceiveEventPolicy",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "DecideForwardingState",
- "localName": "CreateForwardPayload"
- },
- "outgoingEvent": {
- "name": "DmaapResponseStatusEvent",
- "version": "0.0.1"
- },
- "outgoingEventReference": [
- {
- "name": "DmaapResponseStatusEvent",
- "version": "0.0.1"
- }
- ],
- "nextState": {
- "parentKeyName": "NULL",
- "parentKeyVersion": "0.0.0",
- "parentLocalName": "NULL",
- "localName": "NULL"
- }
- }
- }
- ]
- },
- "contextAlbumReference": [],
- "taskSelectionLogic": {
- "key": {
- "parentKeyName": "NULL",
- "parentKeyVersion": "0.0.0",
- "parentLocalName": "NULL",
- "localName": "NULL"
- },
- "logicFlavour": "UNDEFINED",
- "logic": ""
- },
- "stateFinalizerLogicMap": {
- "entry": []
- },
- "defaultTask": {
- "name": "ForwardPayloadTask",
- "version": "0.0.1"
- },
- "taskReferences": {
- "entry": [
- {
- "key": {
- "name": "ForwardPayloadTask",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "parentKeyName": "ReceiveEventPolicy",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "DecideForwardingState",
- "localName": "ReceiveEventPolicy"
- },
- "outputType": "DIRECT",
- "output": {
- "parentKeyName": "ReceiveEventPolicy",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "DecideForwardingState",
- "localName": "CreateForwardPayload"
- }
- }
- }
- ]
- }
- }
- }
- ]
- },
- "firstState": "DecideForwardingState"
- }
- }
- ]
- }
- },
- "tasks": {
- "key": {
- "name": "APEXacElementPolicy_Tasks",
- "version": "0.0.1"
- },
- "taskMap": {
- "entry": [
- {
- "key": {
- "name": "ForwardPayloadTask",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "ForwardPayloadTask",
- "version": "0.0.1"
- },
- "inputEvent": {
- "key": {
- "name": "AcElementEvent",
- "version": "0.0.1"
- },
- "nameSpace": "org.onap.policy.apex.ac.element",
- "source": "Dmaap",
- "target": "APEX",
- "parameter": {
- "entry": [
- {
- "key": "DmaapResponseEvent",
- "value": {
- "key": {
- "parentKeyName": "AcElementEvent",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "NULL",
- "localName": "DmaapResponseEvent"
- },
- "fieldSchemaKey": {
- "name": "ACEventType",
- "version": "0.0.1"
- },
- "optional": false
- }
- }
- ]
- },
- "toscaPolicyState": "ENTRY"
- },
- "outputEvents": {
- "entry": [
- {
- "key": "DmaapResponseStatusEvent",
- "value": {
- "key": {
- "name": "DmaapResponseStatusEvent",
- "version": "0.0.1"
- },
- "nameSpace": "org.onap.policy.apex.ac.element",
- "source": "APEX",
- "target": "Dmaap",
- "parameter": {
- "entry": [
- {
- "key": "DmaapResponseStatusEvent",
- "value": {
- "key": {
- "parentKeyName": "DmaapResponseStatusEvent",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "NULL",
- "localName": "DmaapResponseStatusEvent"
- },
- "fieldSchemaKey": {
- "name": "ACEventType",
- "version": "0.0.1"
- },
- "optional": false
- }
- }
- ]
- },
- "toscaPolicyState": ""
- }
- }
- ]
- },
- "taskParameters": {
- "entry": []
- },
- "contextAlbumReference": [
- {
- "name": "ACElementAlbum",
- "version": "0.0.1"
- }
- ],
- "taskLogic": {
- "key": {
- "parentKeyName": "ForwardPayloadTask",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "NULL",
- "localName": "TaskLogic"
- },
- "logicFlavour": "JAVASCRIPT",
- "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2022 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an 'AS IS' BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\nexecutor.logger.info(executor.inFields);\n\nvar msgResponse = executor.inFields.get('DmaapResponseEvent');\nexecutor.logger.info('Task in progress with mesages: ' + msgResponse);\n\nvar elementId = msgResponse.get('elementId').get('name');\n\nif (msgResponse.get('messageType') == 'STATUS' &&\n (elementId == 'onap.policy.clamp.ac.startertobridge'\n || elementId == 'onap.policy.clamp.ac.bridgetosink')) {\n\n var receiverId = '';\n if (elementId == 'onap.policy.clamp.ac.startertobridge') {\n receiverId = 'onap.policy.clamp.ac.bridge';\n } else {\n receiverId = 'onap.policy.clamp.ac.sink';\n }\n\n var elementIdResponse = new java.util.HashMap();\n elementIdResponse.put('name', receiverId);\n elementIdResponse.put('version', msgResponse.get('elementId').get('version'));\n\n var dmaapResponse = new java.util.HashMap();\n dmaapResponse.put('elementId', elementIdResponse);\n\n var message = msgResponse.get('message') + ' trace added from policy';\n dmaapResponse.put('message', message);\n dmaapResponse.put('messageType', 'STATUS');\n dmaapResponse.put('messageId', msgResponse.get('messageId'));\n dmaapResponse.put('timestamp', msgResponse.get('timestamp'));\n\n executor.logger.info('Sending forwarding Event to Ac element: ' + dmaapResponse);\n\n executor.outFields.put('DmaapResponseStatusEvent', dmaapResponse);\n}\n\ntrue;"
- }
- }
- }
- ]
- }
- },
- "events": {
- "key": {
- "name": "APEXacElementPolicy_Events",
- "version": "0.0.1"
- },
- "eventMap": {
- "entry": [
- {
- "key": {
- "name": "AcElementEvent",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "AcElementEvent",
- "version": "0.0.1"
- },
- "nameSpace": "org.onap.policy.apex.ac.element",
- "source": "Dmaap",
- "target": "APEX",
- "parameter": {
- "entry": [
- {
- "key": "DmaapResponseEvent",
- "value": {
- "key": {
- "parentKeyName": "AcElementEvent",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "NULL",
- "localName": "DmaapResponseEvent"
- },
- "fieldSchemaKey": {
- "name": "ACEventType",
- "version": "0.0.1"
- },
- "optional": false
- }
- }
- ]
- },
- "toscaPolicyState": "ENTRY"
- }
- },
- {
- "key": {
- "name": "DmaapResponseStatusEvent",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "DmaapResponseStatusEvent",
- "version": "0.0.1"
- },
- "nameSpace": "org.onap.policy.apex.ac.element",
- "source": "APEX",
- "target": "Dmaap",
- "parameter": {
- "entry": [
- {
- "key": "DmaapResponseStatusEvent",
- "value": {
- "key": {
- "parentKeyName": "DmaapResponseStatusEvent",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "NULL",
- "localName": "DmaapResponseStatusEvent"
- },
- "fieldSchemaKey": {
- "name": "ACEventType",
- "version": "0.0.1"
- },
- "optional": false
- }
- }
- ]
- },
- "toscaPolicyState": ""
- }
- },
- {
- "key": {
- "name": "LogEvent",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "LogEvent",
- "version": "0.0.1"
- },
- "nameSpace": "org.onap.policy.apex.ac.element",
- "source": "APEX",
- "target": "file",
- "parameter": {
- "entry": [
- {
- "key": "final_status",
- "value": {
- "key": {
- "parentKeyName": "LogEvent",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "NULL",
- "localName": "final_status"
- },
- "fieldSchemaKey": {
- "name": "SimpleStringType",
- "version": "0.0.1"
- },
- "optional": false
- }
- },
- {
- "key": "message",
- "value": {
- "key": {
- "parentKeyName": "LogEvent",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "NULL",
- "localName": "message"
- },
- "fieldSchemaKey": {
- "name": "SimpleStringType",
- "version": "0.0.1"
- },
- "optional": false
- }
- }
- ]
- },
- "toscaPolicyState": ""
- }
- }
- ]
- }
- },
- "albums": {
- "key": {
- "name": "APEXacElementPolicy_Albums",
- "version": "0.0.1"
- },
- "albums": {
- "entry": [
- {
- "key": {
- "name": "ACElementAlbum",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "ACElementAlbum",
- "version": "0.0.1"
- },
- "scope": "policy",
- "isWritable": true,
- "itemSchema": {
- "name": "ACEventType",
- "version": "0.0.1"
- }
- }
- }
- ]
- }
- },
- "schemas": {
- "key": {
- "name": "APEXacElementPolicy_Schemas",
- "version": "0.0.1"
- },
- "schemas": {
- "entry": [
- {
- "key": {
- "name": "ACEventType",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "ACEventType",
- "version": "0.0.1"
- },
- "schemaFlavour": "Json",
- "schemaDefinition": "{\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"type\": \"object\",\n \"properties\": {\n \"elementId\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"version\"\n ]\n },\n \"message\": {\n \"type\": \"string\"\n },\n \"messageType\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"elementId\",\n \"message\",\n \"messageType\"\n ]\n}"
- }
- },
- {
- "key": {
- "name": "SimpleIntType",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "SimpleIntType",
- "version": "0.0.1"
- },
- "schemaFlavour": "Java",
- "schemaDefinition": "java.lang.Integer"
- }
- },
- {
- "key": {
- "name": "SimpleStringType",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "SimpleStringType",
- "version": "0.0.1"
- },
- "schemaFlavour": "Java",
- "schemaDefinition": "java.lang.String"
- }
- },
- {
- "key": {
- "name": "UUIDType",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "UUIDType",
- "version": "0.0.1"
- },
- "schemaFlavour": "Java",
- "schemaDefinition": "java.util.UUID"
- }
- }
- ]
- }
- },
- "key": {
- "name": "APEXacElementPolicy",
- "version": "0.0.1"
- },
- "keyInformation": {
- "key": {
- "name": "APEXacElementPolicy_KeyInfo",
- "version": "0.0.1"
- },
- "keyInfoMap": {
- "entry": [
- {
- "key": {
- "name": "ACElementAlbum",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "ACElementAlbum",
- "version": "0.0.1"
- },
- "UUID": "7cddfab8-6d3f-3f7f-8ac3-e2eb5979c900",
- "description": "Generated description for concept referred to by key \"ACElementAlbum:0.0.1\""
- }
- },
- {
- "key": {
- "name": "ACEventType",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "ACEventType",
- "version": "0.0.1"
- },
- "UUID": "dab78794-b666-3929-a75b-70d634b04fe5",
- "description": "Generated description for concept referred to by key \"ACEventType:0.0.1\""
- }
- },
- {
- "key": {
- "name": "APEXacElementPolicy",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "APEXacElementPolicy",
- "version": "0.0.1"
- },
- "UUID": "da478611-7d77-3c46-b4be-be968769ba4e",
- "description": "Generated description for concept referred to by key \"APEXacElementPolicy:0.0.1\""
- }
- },
- {
- "key": {
- "name": "APEXacElementPolicy_Albums",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "APEXacElementPolicy_Albums",
- "version": "0.0.1"
- },
- "UUID": "fa8dc15e-8c8d-3de3-a0f8-585b76511175",
- "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Albums:0.0.1\""
- }
- },
- {
- "key": {
- "name": "APEXacElementPolicy_Events",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "APEXacElementPolicy_Events",
- "version": "0.0.1"
- },
- "UUID": "8508cd65-8dd2-342d-a5c6-1570810dbe2b",
- "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Events:0.0.1\""
- }
- },
- {
- "key": {
- "name": "APEXacElementPolicy_KeyInfo",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "APEXacElementPolicy_KeyInfo",
- "version": "0.0.1"
- },
- "UUID": "09e6927d-c5ac-3779-919f-9333994eed22",
- "description": "Generated description for concept referred to by key \"APEXacElementPolicy_KeyInfo:0.0.1\""
- }
- },
- {
- "key": {
- "name": "APEXacElementPolicy_Policies",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "APEXacElementPolicy_Policies",
- "version": "0.0.1"
- },
- "UUID": "cade3c9a-1600-3642-a6f4-315612187f46",
- "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Policies:0.0.1\""
- }
- },
- {
- "key": {
- "name": "APEXacElementPolicy_Schemas",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "APEXacElementPolicy_Schemas",
- "version": "0.0.1"
- },
- "UUID": "5bb4a8e9-35fa-37db-9a49-48ef036a7ba9",
- "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Schemas:0.0.1\""
- }
- },
- {
- "key": {
- "name": "APEXacElementPolicy_Tasks",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "APEXacElementPolicy_Tasks",
- "version": "0.0.1"
- },
- "UUID": "2527eeec-0d1f-3094-ad3f-212622b12836",
- "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Tasks:0.0.1\""
- }
- },
- {
- "key": {
- "name": "AcElementEvent",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "AcElementEvent",
- "version": "0.0.1"
- },
- "UUID": "32c013e2-2740-3986-a626-cbdf665b63e9",
- "description": "Generated description for concept referred to by key \"AcElementEvent:0.0.1\""
- }
- },
- {
- "key": {
- "name": "DmaapResponseStatusEvent",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "DmaapResponseStatusEvent",
- "version": "0.0.1"
- },
- "UUID": "2715cb6c-2778-3461-8b69-871e79f95935",
- "description": "Generated description for concept referred to by key \"DmaapResponseStatusEvent:0.0.1\""
- }
- },
- {
- "key": {
- "name": "ForwardPayloadTask",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "ForwardPayloadTask",
- "version": "0.0.1"
- },
- "UUID": "51defa03-1ecf-3314-bf34-2a652bce57fa",
- "description": "Generated description for concept referred to by key \"ForwardPayloadTask:0.0.1\""
- }
- },
- {
- "key": {
- "name": "LogEvent",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "LogEvent",
- "version": "0.0.1"
- },
- "UUID": "c540f048-96af-35e3-a36e-e9c29377cba7",
- "description": "Generated description for concept referred to by key \"LogEvent:0.0.1\""
- }
- },
- {
- "key": {
- "name": "ReceiveEventPolicy",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "ReceiveEventPolicy",
- "version": "0.0.1"
- },
- "UUID": "568b7345-9de1-36d3-b6a3-9b857e6809a1",
- "description": "Generated description for concept referred to by key \"ReceiveEventPolicy:0.0.1\""
- }
- },
- {
- "key": {
- "name": "SimpleIntType",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "SimpleIntType",
- "version": "0.0.1"
- },
- "UUID": "153791fd-ae0a-36a7-88a5-309a7936415d",
- "description": "Generated description for concept referred to by key \"SimpleIntType:0.0.1\""
- }
- },
- {
- "key": {
- "name": "SimpleStringType",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "SimpleStringType",
- "version": "0.0.1"
- },
- "UUID": "8a4957cf-9493-3a76-8c22-a208e23259af",
- "description": "Generated description for concept referred to by key \"SimpleStringType:0.0.1\""
- }
- },
- {
- "key": {
- "name": "UUIDType",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "UUIDType",
- "version": "0.0.1"
- },
- "UUID": "6a8cc68e-dfc8-3403-9c6d-071c886b319c",
- "description": "Generated description for concept referred to by key \"UUIDType:0.0.1\""
- }
- }
- ]
- }
- }
- }
- },
- "eventInputParameters": {
- "DmaapConsumer": {
- "carrierTechnologyParameters": {
- "carrierTechnology": "KAFKA",
- "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.kafka.KafkaCarrierTechnologyParameters",
- "parameters": {
- "bootstrapServers": "kafka:9092",
- "groupId": "clamp-grp",
- "enableAutoCommit": true,
- "autoCommitTime": 1000,
- "sessionTimeout": 30000,
- "consumerPollTime": 100,
- "consumerTopicList": [
- "ac_element_msg"
- ],
- "keyDeserializer": "org.apache.kafka.common.serialization.StringDeserializer",
- "valueDeserializer": "org.apache.kafka.common.serialization.StringDeserializer",
- "kafkaProperties": []
- }
- },
- "eventProtocolParameters": {
- "eventProtocol": "JSON",
- "parameters": {
- "pojoField": "DmaapResponseEvent"
- }
- },
- "eventName": "AcElementEvent",
- "eventNameFilter": "AcElementEvent"
- }
- },
- "eventOutputParameters": {
- "logOutputter": {
- "carrierTechnologyParameters": {
- "carrierTechnology": "FILE",
- "parameters": {
- "fileName": "outputevents.log"
- }
- },
- "eventProtocolParameters": {
- "eventProtocol": "JSON"
- }
- },
- "DmaapReplyProducer": {
- "carrierTechnologyParameters": {
- "carrierTechnology": "KAFKA",
- "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.kafka.KafkaCarrierTechnologyParameters",
- "parameters": {
- "bootstrapServers": "kafka:9092",
- "acks": "all",
- "retries": 0,
- "batchSize": 16384,
- "lingerTime": 1,
- "bufferMemory": 33554432,
- "producerTopic": "policy_update_msg",
- "keySerializer": "org.apache.kafka.common.serialization.StringSerializer",
- "valueSerializer": "org.apache.kafka.common.serialization.StringSerializer",
- "kafkaProperties": []
- }
- },
- "eventProtocolParameters": {
- "eventProtocol": "JSON",
- "parameters": {
- "pojoField": "DmaapResponseStatusEvent"
- }
- },
- "eventNameFilter": "LogEvent|DmaapResponseStatusEvent"
- }
- }
- },
- "name": "onap.policies.native.apex.ac.element",
- "version": "1.0.0"
- }
- }
- ]
+ }
}
-} \ No newline at end of file
+}
diff --git a/policy-regression-tests/policy-clamp-regression/src/test/resources/data/acelement-usecase2.json b/policy-regression-tests/policy-clamp-regression/src/test/resources/data/acelement-usecase2.json
index a64e4851..e6958cfa 100644
--- a/policy-regression-tests/policy-clamp-regression/src/test/resources/data/acelement-usecase2.json
+++ b/policy-regression-tests/policy-clamp-regression/src/test/resources/data/acelement-usecase2.json
@@ -14,227 +14,6 @@
}
}
},
- "onap.datatypes.native.apex.EngineService": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "name": {
- "type": "string",
- "description": "Specifies the engine name",
- "required": false,
- "default": "ApexEngineService"
- },
- "version": {
- "type": "string",
- "description": "Specifies the engine version in double dotted format",
- "required": false,
- "default": "1.0.0"
- },
- "id": {
- "type": "integer",
- "description": "Specifies the engine id",
- "required": true
- },
- "instance_count": {
- "type": "integer",
- "description": "Specifies the number of engine threads that should be run",
- "required": true
- },
- "deployment_port": {
- "type": "integer",
- "description": "Specifies the port to connect to for engine administration",
- "required": false,
- "default": 1
- },
- "policy_model_file_name": {
- "type": "string",
- "description": "The name of the file from which to read the APEX policy model",
- "required": false
- },
- "policy_type_impl": {
- "type": "string",
- "description": "The policy type implementation from which to read the APEX policy model",
- "required": false
- },
- "periodic_event_period": {
- "type": "string",
- "description": "The time interval in milliseconds for the periodic scanning event, 0 means don't scan",
- "required": false
- },
- "engine": {
- "type": "onap.datatypes.native.apex.engineservice.Engine",
- "description": "The parameters for all engines in the APEX engine service",
- "required": true
- }
- }
- },
- "onap.datatypes.native.apex.EventHandler": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "name": {
- "type": "string",
- "description": "Specifies the event handler name, if not specified this is set to the key name",
- "required": false
- },
- "carrier_technology": {
- "type": "onap.datatypes.native.apex.CarrierTechnology",
- "description": "Specifies the carrier technology of the event handler (such as REST/Web Socket/Kafka)",
- "required": true
- },
- "event_protocol": {
- "type": "onap.datatypes.native.apex.EventProtocol",
- "description": "Specifies the event protocol of events for the event handler (such as Yaml/JSON/XML/POJO)",
- "required": true
- },
- "event_name": {
- "type": "string",
- "description": "Specifies the event name for events on this event handler, if not specified, the event name is read from or written to the event being received or sent",
- "required": false
- },
- "event_name_filter": {
- "type": "string",
- "description": "Specifies a filter as a regular expression, events that do not match the filter are dropped, the default is to let all events through",
- "required": false
- },
- "synchronous_mode": {
- "type": "boolean",
- "description": "Specifies the event handler is syncronous (receive event and send response)",
- "required": false,
- "default": false
- },
- "synchronous_peer": {
- "type": "string",
- "description": "The peer event handler (output for input or input for output) of this event handler in synchronous mode, this parameter is mandatory if the event handler is in synchronous mode",
- "required": false
- },
- "synchronous_timeout": {
- "type": "integer",
- "description": "The timeout in milliseconds for responses to be issued by APEX torequests, this parameter is mandatory if the event handler is in synchronous mode",
- "required": false
- },
- "requestor_mode": {
- "type": "boolean",
- "description": "Specifies the event handler is in requestor mode (send event and wait for response mode)",
- "required": false,
- "default": false
- },
- "requestor_peer": {
- "type": "string",
- "description": "The peer event handler (output for input or input for output) of this event handler in requestor mode, this parameter is mandatory if the event handler is in requestor mode",
- "required": false
- },
- "requestor_timeout": {
- "type": "integer",
- "description": "The timeout in milliseconds for wait for responses to requests, this parameter is mandatory if the event handler is in requestor mode",
- "required": false
- }
- }
- },
- "onap.datatypes.native.apex.CarrierTechnology": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "label": {
- "type": "string",
- "description": "The label (name) of the carrier technology (such as REST, Kafka, WebSocket)",
- "required": true
- },
- "plugin_parameter_class_name": {
- "type": "string",
- "description": "The class name of the class that overrides default handling of event input or output for this carrier technology, defaults to the supplied input or output class",
- "required": false
- }
- }
- },
- "onap.datatypes.native.apex.EventProtocol": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "label": {
- "type": "string",
- "description": "The label (name) of the event protocol (such as Yaml, JSON, XML, or POJO)",
- "required": true
- },
- "event_protocol_plugin_class": {
- "type": "string",
- "description": "The class name of the class that overrides default handling of the event protocol for this carrier technology, defaults to the supplied event protocol class",
- "required": false
- }
- }
- },
- "onap.datatypes.native.apex.Environment": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "name": {
- "type": "string",
- "description": "The name of the environment variable",
- "required": true
- },
- "value": {
- "type": "string",
- "description": "The value of the environment variable",
- "required": true
- }
- }
- },
- "onap.datatypes.native.apex.engineservice.Engine": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "context": {
- "type": "onap.datatypes.native.apex.engineservice.engine.Context",
- "description": "The properties for handling context in APEX engines, defaults to using Java maps for context",
- "required": false
- },
- "executors": {
- "type": "map",
- "description": "The plugins for policy executors used in engines such as javascript, MVEL, Jython",
- "required": true,
- "entry_schema": {
- "description": "The plugin class path for this policy executor",
- "type": "string"
- }
- }
- }
- },
- "onap.datatypes.native.apex.engineservice.engine.Context": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "distributor": {
- "type": "onap.datatypes.native.apex.Plugin",
- "description": "The plugin to be used for distributing context between APEX PDPs at runtime",
- "required": false
- },
- "schemas": {
- "type": "map",
- "description": "The plugins for context schemas available in APEX PDPs such as Java and Avro",
- "required": false,
- "entry_schema": {
- "type": "onap.datatypes.native.apex.Plugin"
- }
- },
- "locking": {
- "type": "onap.datatypes.native.apex.Plugin",
- "description": "The plugin to be used for locking context in and between APEX PDPs at runtime",
- "required": false
- },
- "persistence": {
- "type": "onap.datatypes.native.apex.Plugin",
- "description": "The plugin to be used for persisting context for APEX PDPs at runtime",
- "required": false
- }
- }
- },
- "onap.datatypes.native.apex.Plugin": {
- "derived_from": "tosca.datatypes.Root",
- "properties": {
- "name": {
- "type": "string",
- "description": "The name of the executor such as Javascript, Jython or MVEL",
- "required": true
- },
- "plugin_class_name": {
- "type": "string",
- "description": "The class path of the plugin class for this executor"
- }
- }
- },
"org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest": {
"version": "1.0.0",
"derived_from": "tosca.datatypes.Root",
@@ -297,47 +76,6 @@
}
}
},
- "policy_types": {
- "onap.policies.Native": {
- "derived_from": "tosca.policies.Root",
- "description": "a base policy type for all native PDP policies",
- "version": "1.0.0",
- "name": "onap.policies.Native"
- },
- "onap.policies.native.Apex": {
- "derived_from": "onap.policies.Native",
- "description": "a policy type for native apex policies",
- "version": "1.0.0",
- "name": "onap.policies.native.Apex",
- "properties": {
- "engine_service": {
- "type": "onap.datatypes.native.apex.EngineService",
- "description": "APEX Engine Service Parameters"
- },
- "inputs": {
- "type": "map",
- "description": "Inputs for handling events coming into the APEX engine",
- "entry_schema": {
- "type": "onap.datatypes.native.apex.EventHandler"
- }
- },
- "outputs": {
- "type": "map",
- "description": "Outputs for handling events going out of the APEX engine",
- "entry_schema": {
- "type": "onap.datatypes.native.apex.EventHandler"
- }
- },
- "environment": {
- "type": "list",
- "description": "Envioronmental parameters for the APEX engine",
- "entry_schema": {
- "type": "onap.datatypes.native.apex.Environment"
- }
- }
- }
- }
- },
"node_types": {
"org.onap.policy.clamp.acm.Participant": {
"version": "1.0.1",
@@ -528,16 +266,6 @@
}
},
"topology_template": {
- "inputs": {
- "acm_element_policy": {
- "type": "onap.datatypes.ToscaConceptIdentifier",
- "description": "The ID of the operational policy to use",
- "default": {
- "name": "onap.policies.native.apex.ac.element",
- "version": "1.0.2"
- }
- }
- },
"node_templates": {
"org.onap.policy.clamp.acm.PolicyParticipant": {
"version": "2.3.1",
@@ -567,7 +295,7 @@
"provider": "ONAP"
}
},
- "onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement": {
+ "onap.policy.clamp.ac.element.K8S_AutomationCompositionElement": {
"version": "1.2.3",
"type": "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement",
"type_version": "1.0.0",
@@ -579,30 +307,6 @@
"podStatusCheckInterval": 30
}
},
- "onap.policy.clamp.ac.element.K8S_BridgeAutomationCompositionElement": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement",
- "type_version": "1.0.0",
- "description": "Automation composition element for the K8S microservice for AC Element Bridge",
- "properties": {
- "provider": "ONAP",
- "startPhase": 0,
- "uninitializedToPassiveTimeout": 300,
- "podStatusCheckInterval": 30
- }
- },
- "onap.policy.clamp.ac.element.K8S_SinkAutomationCompositionElement": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement",
- "type_version": "1.0.0",
- "description": "Automation composition element for the K8S microservice for AC Element Sink",
- "properties": {
- "provider": "ONAP",
- "startPhase": 0,
- "uninitializedToPassiveTimeout": 300,
- "podStatusCheckInterval": 30
- }
- },
"org.onap.policy.clamp.acm.HttpParticipant": {
"version": "2.3.4",
"type": "org.onap.policy.clamp.acm.Participant",
@@ -612,7 +316,7 @@
"provider": "ONAP"
}
},
- "onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement": {
+ "onap.policy.clamp.ac.element.Http_AutomationCompositionElement": {
"version": "1.2.3",
"type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
"type_version": "1.0.0",
@@ -623,28 +327,6 @@
"startPhase": 1
}
},
- "onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
- "type_version": "1.0.0",
- "description": "Automation composition element for the http requests of AC Element Bridge microservice",
- "properties": {
- "provider": "ONAP",
- "uninitializedToPassiveTimeout": 300,
- "startPhase": 1
- }
- },
- "onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement": {
- "version": "1.2.3",
- "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
- "type_version": "1.0.0",
- "description": "Automation composition element for the http requests of AC Element Sink microservice",
- "properties": {
- "provider": "ONAP",
- "uninitializedToPassiveTimeout": 300,
- "startPhase": 1
- }
- },
"onap.policy.clamp.ac.element.AutomationCompositionDefinition": {
"version": "1.2.3",
"type": "org.onap.policy.clamp.acm.AutomationComposition",
@@ -658,841 +340,16 @@
"version": "1.2.3"
},
{
- "name": "onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement",
- "version": "1.2.3"
- },
- {
- "name": "onap.policy.clamp.ac.element.K8S_BridgeAutomationCompositionElement",
- "version": "1.2.3"
- },
- {
- "name": "onap.policy.clamp.ac.element.K8S_SinkAutomationCompositionElement",
- "version": "1.2.3"
- },
- {
- "name": "onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement",
+ "name": "onap.policy.clamp.ac.element.K8S_AutomationCompositionElement",
"version": "1.2.3"
},
{
- "name": "onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement",
- "version": "1.2.3"
- },
- {
- "name": "onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement",
+ "name": "onap.policy.clamp.ac.element.Http_AutomationCompositionElement",
"version": "1.2.3"
}
]
}
}
- },
- "policies": [
- {
- "onap.policies.native.apex.ac.element": {
- "type": "onap.policies.native.Apex",
- "type_version": "1.0.0",
- "properties": {
- "engineServiceParameters": {
- "name": "MyApexEngine",
- "version": "0.0.1",
- "id": 45,
- "instanceCount": 3,
- "deploymentPort": 12561,
- "engineParameters": {
- "executorParameters": {
- "JAVASCRIPT": {
- "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
- }
- },
- "contextParameters": {
- "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters",
- "schemaParameters": {
- "Json": {
- "parameterClassName": "org.onap.policy.apex.plugins.context.schema.json.JsonSchemaHelperParameters"
- }
- }
- }
- },
- "policy_type_impl": {
- "policies": {
- "key": {
- "name": "APEXacElementPolicy_Policies",
- "version": "0.0.1"
- },
- "policyMap": {
- "entry": [
- {
- "key": {
- "name": "ReceiveEventPolicy",
- "version": "0.0.1"
- },
- "value": {
- "policyKey": {
- "name": "ReceiveEventPolicy",
- "version": "0.0.1"
- },
- "template": "Freestyle",
- "state": {
- "entry": [
- {
- "key": "DecideForwardingState",
- "value": {
- "stateKey": {
- "parentKeyName": "ReceiveEventPolicy",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "NULL",
- "localName": "DecideForwardingState"
- },
- "trigger": {
- "name": "AcElementEvent",
- "version": "0.0.1"
- },
- "stateOutputs": {
- "entry": [
- {
- "key": "CreateForwardPayload",
- "value": {
- "key": {
- "parentKeyName": "ReceiveEventPolicy",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "DecideForwardingState",
- "localName": "CreateForwardPayload"
- },
- "outgoingEvent": {
- "name": "DmaapResponseStatusEvent",
- "version": "0.0.1"
- },
- "outgoingEventReference": [
- {
- "name": "DmaapResponseStatusEvent",
- "version": "0.0.1"
- }
- ],
- "nextState": {
- "parentKeyName": "NULL",
- "parentKeyVersion": "0.0.0",
- "parentLocalName": "NULL",
- "localName": "NULL"
- }
- }
- }
- ]
- },
- "contextAlbumReference": [],
- "taskSelectionLogic": {
- "key": {
- "parentKeyName": "NULL",
- "parentKeyVersion": "0.0.0",
- "parentLocalName": "NULL",
- "localName": "NULL"
- },
- "logicFlavour": "UNDEFINED",
- "logic": ""
- },
- "stateFinalizerLogicMap": {
- "entry": []
- },
- "defaultTask": {
- "name": "ForwardPayloadTask",
- "version": "0.0.1"
- },
- "taskReferences": {
- "entry": [
- {
- "key": {
- "name": "ForwardPayloadTask",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "parentKeyName": "ReceiveEventPolicy",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "DecideForwardingState",
- "localName": "ReceiveEventPolicy"
- },
- "outputType": "DIRECT",
- "output": {
- "parentKeyName": "ReceiveEventPolicy",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "DecideForwardingState",
- "localName": "CreateForwardPayload"
- }
- }
- }
- ]
- }
- }
- }
- ]
- },
- "firstState": "DecideForwardingState"
- }
- }
- ]
- }
- },
- "tasks": {
- "key": {
- "name": "APEXacElementPolicy_Tasks",
- "version": "0.0.1"
- },
- "taskMap": {
- "entry": [
- {
- "key": {
- "name": "ForwardPayloadTask",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "ForwardPayloadTask",
- "version": "0.0.1"
- },
- "inputEvent": {
- "key": {
- "name": "AcElementEvent",
- "version": "0.0.1"
- },
- "nameSpace": "org.onap.policy.apex.ac.element",
- "source": "Dmaap",
- "target": "APEX",
- "parameter": {
- "entry": [
- {
- "key": "DmaapResponseEvent",
- "value": {
- "key": {
- "parentKeyName": "AcElementEvent",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "NULL",
- "localName": "DmaapResponseEvent"
- },
- "fieldSchemaKey": {
- "name": "ACEventType",
- "version": "0.0.1"
- },
- "optional": false
- }
- }
- ]
- },
- "toscaPolicyState": "ENTRY"
- },
- "outputEvents": {
- "entry": [
- {
- "key": "DmaapResponseStatusEvent",
- "value": {
- "key": {
- "name": "DmaapResponseStatusEvent",
- "version": "0.0.1"
- },
- "nameSpace": "org.onap.policy.apex.ac.element",
- "source": "APEX",
- "target": "Dmaap",
- "parameter": {
- "entry": [
- {
- "key": "DmaapResponseStatusEvent",
- "value": {
- "key": {
- "parentKeyName": "DmaapResponseStatusEvent",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "NULL",
- "localName": "DmaapResponseStatusEvent"
- },
- "fieldSchemaKey": {
- "name": "ACEventType",
- "version": "0.0.1"
- },
- "optional": false
- }
- }
- ]
- },
- "toscaPolicyState": ""
- }
- }
- ]
- },
- "taskParameters": {
- "entry": []
- },
- "contextAlbumReference": [
- {
- "name": "ACElementAlbum",
- "version": "0.0.1"
- }
- ],
- "taskLogic": {
- "key": {
- "parentKeyName": "ForwardPayloadTask",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "NULL",
- "localName": "TaskLogic"
- },
- "logicFlavour": "JAVASCRIPT",
- "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2022 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an 'AS IS' BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\nexecutor.logger.info(executor.inFields);\n\nvar msgResponse = executor.inFields.get('DmaapResponseEvent');\nexecutor.logger.info('Task in progress with mesages: ' + msgResponse);\n\nvar elementId = msgResponse.get('elementId').get('name');\n\nif (msgResponse.get('messageType') == 'STATUS' &&\n (elementId == 'onap.policy.clamp.ac.startertobridge'\n || elementId == 'onap.policy.clamp.ac.bridgetosink')) {\n\n var receiverId = '';\n if (elementId == 'onap.policy.clamp.ac.startertobridge') {\n receiverId = 'onap.policy.clamp.ac.bridge';\n } else {\n receiverId = 'onap.policy.clamp.ac.sink';\n }\n\n var elementIdResponse = new java.util.HashMap();\n elementIdResponse.put('name', receiverId);\n elementIdResponse.put('version', msgResponse.get('elementId').get('version'));\n\n var dmaapResponse = new java.util.HashMap();\n dmaapResponse.put('elementId', elementIdResponse);\n\n var message = msgResponse.get('message') + ' trace added from policy';\n dmaapResponse.put('message', message);\n dmaapResponse.put('messageType', 'STATUS');\n dmaapResponse.put('messageId', msgResponse.get('messageId'));\n dmaapResponse.put('timestamp', msgResponse.get('timestamp'));\n\n executor.logger.info('Sending forwarding Event to Ac element: ' + dmaapResponse);\n\n executor.outFields.put('DmaapResponseStatusEvent', dmaapResponse);\n}\n\ntrue;"
- }
- }
- }
- ]
- }
- },
- "events": {
- "key": {
- "name": "APEXacElementPolicy_Events",
- "version": "0.0.1"
- },
- "eventMap": {
- "entry": [
- {
- "key": {
- "name": "AcElementEvent",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "AcElementEvent",
- "version": "0.0.1"
- },
- "nameSpace": "org.onap.policy.apex.ac.element",
- "source": "Dmaap",
- "target": "APEX",
- "parameter": {
- "entry": [
- {
- "key": "DmaapResponseEvent",
- "value": {
- "key": {
- "parentKeyName": "AcElementEvent",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "NULL",
- "localName": "DmaapResponseEvent"
- },
- "fieldSchemaKey": {
- "name": "ACEventType",
- "version": "0.0.1"
- },
- "optional": false
- }
- }
- ]
- },
- "toscaPolicyState": "ENTRY"
- }
- },
- {
- "key": {
- "name": "DmaapResponseStatusEvent",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "DmaapResponseStatusEvent",
- "version": "0.0.1"
- },
- "nameSpace": "org.onap.policy.apex.ac.element",
- "source": "APEX",
- "target": "Dmaap",
- "parameter": {
- "entry": [
- {
- "key": "DmaapResponseStatusEvent",
- "value": {
- "key": {
- "parentKeyName": "DmaapResponseStatusEvent",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "NULL",
- "localName": "DmaapResponseStatusEvent"
- },
- "fieldSchemaKey": {
- "name": "ACEventType",
- "version": "0.0.1"
- },
- "optional": false
- }
- }
- ]
- },
- "toscaPolicyState": ""
- }
- },
- {
- "key": {
- "name": "LogEvent",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "LogEvent",
- "version": "0.0.1"
- },
- "nameSpace": "org.onap.policy.apex.ac.element",
- "source": "APEX",
- "target": "file",
- "parameter": {
- "entry": [
- {
- "key": "final_status",
- "value": {
- "key": {
- "parentKeyName": "LogEvent",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "NULL",
- "localName": "final_status"
- },
- "fieldSchemaKey": {
- "name": "SimpleStringType",
- "version": "0.0.1"
- },
- "optional": false
- }
- },
- {
- "key": "message",
- "value": {
- "key": {
- "parentKeyName": "LogEvent",
- "parentKeyVersion": "0.0.1",
- "parentLocalName": "NULL",
- "localName": "message"
- },
- "fieldSchemaKey": {
- "name": "SimpleStringType",
- "version": "0.0.1"
- },
- "optional": false
- }
- }
- ]
- },
- "toscaPolicyState": ""
- }
- }
- ]
- }
- },
- "albums": {
- "key": {
- "name": "APEXacElementPolicy_Albums",
- "version": "0.0.1"
- },
- "albums": {
- "entry": [
- {
- "key": {
- "name": "ACElementAlbum",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "ACElementAlbum",
- "version": "0.0.1"
- },
- "scope": "policy",
- "isWritable": true,
- "itemSchema": {
- "name": "ACEventType",
- "version": "0.0.1"
- }
- }
- }
- ]
- }
- },
- "schemas": {
- "key": {
- "name": "APEXacElementPolicy_Schemas",
- "version": "0.0.1"
- },
- "schemas": {
- "entry": [
- {
- "key": {
- "name": "ACEventType",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "ACEventType",
- "version": "0.0.1"
- },
- "schemaFlavour": "Json",
- "schemaDefinition": "{\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"type\": \"object\",\n \"properties\": {\n \"elementId\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": {\n \"type\": \"string\"\n },\n \"version\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"version\"\n ]\n },\n \"message\": {\n \"type\": \"string\"\n },\n \"messageType\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"elementId\",\n \"message\",\n \"messageType\"\n ]\n}"
- }
- },
- {
- "key": {
- "name": "SimpleIntType",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "SimpleIntType",
- "version": "0.0.1"
- },
- "schemaFlavour": "Java",
- "schemaDefinition": "java.lang.Integer"
- }
- },
- {
- "key": {
- "name": "SimpleStringType",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "SimpleStringType",
- "version": "0.0.1"
- },
- "schemaFlavour": "Java",
- "schemaDefinition": "java.lang.String"
- }
- },
- {
- "key": {
- "name": "UUIDType",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "UUIDType",
- "version": "0.0.1"
- },
- "schemaFlavour": "Java",
- "schemaDefinition": "java.util.UUID"
- }
- }
- ]
- }
- },
- "key": {
- "name": "APEXacElementPolicy",
- "version": "0.0.1"
- },
- "keyInformation": {
- "key": {
- "name": "APEXacElementPolicy_KeyInfo",
- "version": "0.0.1"
- },
- "keyInfoMap": {
- "entry": [
- {
- "key": {
- "name": "ACElementAlbum",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "ACElementAlbum",
- "version": "0.0.1"
- },
- "UUID": "7cddfab8-6d3f-3f7f-8ac3-e2eb5979c900",
- "description": "Generated description for concept referred to by key \"ACElementAlbum:0.0.1\""
- }
- },
- {
- "key": {
- "name": "ACEventType",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "ACEventType",
- "version": "0.0.1"
- },
- "UUID": "dab78794-b666-3929-a75b-70d634b04fe5",
- "description": "Generated description for concept referred to by key \"ACEventType:0.0.1\""
- }
- },
- {
- "key": {
- "name": "APEXacElementPolicy",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "APEXacElementPolicy",
- "version": "0.0.1"
- },
- "UUID": "da478611-7d77-3c46-b4be-be968769ba4e",
- "description": "Generated description for concept referred to by key \"APEXacElementPolicy:0.0.1\""
- }
- },
- {
- "key": {
- "name": "APEXacElementPolicy_Albums",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "APEXacElementPolicy_Albums",
- "version": "0.0.1"
- },
- "UUID": "fa8dc15e-8c8d-3de3-a0f8-585b76511175",
- "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Albums:0.0.1\""
- }
- },
- {
- "key": {
- "name": "APEXacElementPolicy_Events",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "APEXacElementPolicy_Events",
- "version": "0.0.1"
- },
- "UUID": "8508cd65-8dd2-342d-a5c6-1570810dbe2b",
- "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Events:0.0.1\""
- }
- },
- {
- "key": {
- "name": "APEXacElementPolicy_KeyInfo",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "APEXacElementPolicy_KeyInfo",
- "version": "0.0.1"
- },
- "UUID": "09e6927d-c5ac-3779-919f-9333994eed22",
- "description": "Generated description for concept referred to by key \"APEXacElementPolicy_KeyInfo:0.0.1\""
- }
- },
- {
- "key": {
- "name": "APEXacElementPolicy_Policies",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "APEXacElementPolicy_Policies",
- "version": "0.0.1"
- },
- "UUID": "cade3c9a-1600-3642-a6f4-315612187f46",
- "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Policies:0.0.1\""
- }
- },
- {
- "key": {
- "name": "APEXacElementPolicy_Schemas",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "APEXacElementPolicy_Schemas",
- "version": "0.0.1"
- },
- "UUID": "5bb4a8e9-35fa-37db-9a49-48ef036a7ba9",
- "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Schemas:0.0.1\""
- }
- },
- {
- "key": {
- "name": "APEXacElementPolicy_Tasks",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "APEXacElementPolicy_Tasks",
- "version": "0.0.1"
- },
- "UUID": "2527eeec-0d1f-3094-ad3f-212622b12836",
- "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Tasks:0.0.1\""
- }
- },
- {
- "key": {
- "name": "AcElementEvent",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "AcElementEvent",
- "version": "0.0.1"
- },
- "UUID": "32c013e2-2740-3986-a626-cbdf665b63e9",
- "description": "Generated description for concept referred to by key \"AcElementEvent:0.0.1\""
- }
- },
- {
- "key": {
- "name": "DmaapResponseStatusEvent",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "DmaapResponseStatusEvent",
- "version": "0.0.1"
- },
- "UUID": "2715cb6c-2778-3461-8b69-871e79f95935",
- "description": "Generated description for concept referred to by key \"DmaapResponseStatusEvent:0.0.1\""
- }
- },
- {
- "key": {
- "name": "ForwardPayloadTask",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "ForwardPayloadTask",
- "version": "0.0.1"
- },
- "UUID": "51defa03-1ecf-3314-bf34-2a652bce57fa",
- "description": "Generated description for concept referred to by key \"ForwardPayloadTask:0.0.1\""
- }
- },
- {
- "key": {
- "name": "LogEvent",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "LogEvent",
- "version": "0.0.1"
- },
- "UUID": "c540f048-96af-35e3-a36e-e9c29377cba7",
- "description": "Generated description for concept referred to by key \"LogEvent:0.0.1\""
- }
- },
- {
- "key": {
- "name": "ReceiveEventPolicy",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "ReceiveEventPolicy",
- "version": "0.0.1"
- },
- "UUID": "568b7345-9de1-36d3-b6a3-9b857e6809a1",
- "description": "Generated description for concept referred to by key \"ReceiveEventPolicy:0.0.1\""
- }
- },
- {
- "key": {
- "name": "SimpleIntType",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "SimpleIntType",
- "version": "0.0.1"
- },
- "UUID": "153791fd-ae0a-36a7-88a5-309a7936415d",
- "description": "Generated description for concept referred to by key \"SimpleIntType:0.0.1\""
- }
- },
- {
- "key": {
- "name": "SimpleStringType",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "SimpleStringType",
- "version": "0.0.1"
- },
- "UUID": "8a4957cf-9493-3a76-8c22-a208e23259af",
- "description": "Generated description for concept referred to by key \"SimpleStringType:0.0.1\""
- }
- },
- {
- "key": {
- "name": "UUIDType",
- "version": "0.0.1"
- },
- "value": {
- "key": {
- "name": "UUIDType",
- "version": "0.0.1"
- },
- "UUID": "6a8cc68e-dfc8-3403-9c6d-071c886b319c",
- "description": "Generated description for concept referred to by key \"UUIDType:0.0.1\""
- }
- }
- ]
- }
- }
- }
- },
- "eventInputParameters": {
- "DmaapConsumer": {
- "carrierTechnologyParameters": {
- "carrierTechnology": "KAFKA",
- "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.kafka.KafkaCarrierTechnologyParameters",
- "parameters": {
- "bootstrapServers": "kafka:9092",
- "groupId": "clamp-grp",
- "enableAutoCommit": true,
- "autoCommitTime": 1000,
- "sessionTimeout": 30000,
- "consumerPollTime": 100,
- "consumerTopicList": [
- "ac_element_msg"
- ],
- "keyDeserializer": "org.apache.kafka.common.serialization.StringDeserializer",
- "valueDeserializer": "org.apache.kafka.common.serialization.StringDeserializer",
- "kafkaProperties": []
- }
- },
- "eventProtocolParameters": {
- "eventProtocol": "JSON",
- "parameters": {
- "pojoField": "DmaapResponseEvent"
- }
- },
- "eventName": "AcElementEvent",
- "eventNameFilter": "AcElementEvent"
- }
- },
- "eventOutputParameters": {
- "logOutputter": {
- "carrierTechnologyParameters": {
- "carrierTechnology": "FILE",
- "parameters": {
- "fileName": "outputevents.log"
- }
- },
- "eventProtocolParameters": {
- "eventProtocol": "JSON"
- }
- },
- "DmaapReplyProducer": {
- "carrierTechnologyParameters": {
- "carrierTechnology": "KAFKA",
- "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.kafka.KafkaCarrierTechnologyParameters",
- "parameters": {
- "bootstrapServers": "kafka:9092",
- "acks": "all",
- "retries": 0,
- "batchSize": 16384,
- "lingerTime": 1,
- "bufferMemory": 33554432,
- "producerTopic": "policy_update_msg",
- "keySerializer": "org.apache.kafka.common.serialization.StringSerializer",
- "valueSerializer": "org.apache.kafka.common.serialization.StringSerializer",
- "kafkaProperties": []
- }
- },
- "eventProtocolParameters": {
- "eventProtocol": "JSON",
- "parameters": {
- "pojoField": "DmaapResponseStatusEvent"
- }
- },
- "eventNameFilter": "LogEvent|DmaapResponseStatusEvent"
- }
- }
- },
- "name": "onap.policies.native.apex.ac.element",
- "version": "1.0.2"
- }
- }
- ]
+ }
}
-} \ No newline at end of file
+}