...
Policy payload will remain the same as that in option 1.
Policy deployment
...
In this design option, payload of policy deployement API needs to include not only policy ID and version but also peripheral configurations required by PDP to load/execute newly created native policy rules. Taking drools rules as one example, peripheral configurations would include, dependency descriptors (i.e. event/util java models), drools controller configurations (i.e. controller name, dmaap server and topics, java class for mapping messages coming under each topic, message filter, custom serializer if any, etc.). Again, content-type could be application/json or application/yaml. Below is one example of the payload:
Content-type: applicaiton/json
Code Block | ||
---|---|---|
| ||
{
"policies": [
{
"policy-id": "operational.sampleusecase1",
"policy-version": 1,
"dependencies": [
{
"groupId": "org.onap.policy.sampledomain",
"artifactId": "policy-sample-usecase1",
"version": "1.0.0-SNAPSHOT"
}
],
"controller": {
"name": "sample-usecase1",
"config_body": "<config body>"
}
},
{
"policy-id": "operational.sampleusecase2",
"dependencies": [
{
"groupId": "org.onap.policy.sampledomain",
"artifactId": "policy-sample-usecase2",
"version": "1.0.0-SNAPSHOT"
}
],
"controller": {
"name": "sample-usecase2",
"config_body": "<config body>"
}
}
]
} |
Flow explanation
TBA
Sequence diagram
...