blob: e07a3e1e3f5eadd59301e60706baab7735cbe739 [file] [log] [blame]
{
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://www.onap.org/policy/models/schemas/onap.policies.drools.Controller.schema.json",
"type": "object",
"title": "Domain onap.policies.drools.Controller Policy root schema",
"required": [
"type",
"type_version",
"version",
"metadata",
"properties"
],
"properties": {
"type": {
"$id": "#/properties/type",
"type": "string",
"title": "Policy Type",
"default": "onap.policies.native.Drools",
"examples": [
"onap.policies.native.Drools"
],
"pattern": "^(.+)$"
},
"type_version": {
"$id": "#/properties/type_version",
"type": "string",
"title": "Policy Type Version",
"examples": [
"1.0.0"
],
"pattern": "^(.+)$"
},
"version": {
"$id": "#/properties/version",
"type": "string",
"title": "Version",
"examples": [
"1.0.0"
],
"pattern": "^(.+)$"
},
"name": {
"$id": "#/properties/name",
"type": "string",
"title": "Name",
"examples": [
"example"
],
"pattern": "^(.+)$"
},
"metadata": {
"$id": "#/properties/metadata",
"type": "object",
"title": "Metadata",
"required": [
"policy-id"
],
"properties": {
"policy-id": {
"$id": "#/properties/metadata/properties/policy-id",
"type": "string",
"title": "The policy-id Schema",
"examples": [
"example"
],
"pattern": "^(.+)$"
}
}
},
"properties": {
"$id": "#/properties/properties",
"type": "object",
"title": "Policy Domain Properties",
"required": [
"controllerName"
],
"properties": {
"controllerName": {
"$id": "#/properties/properties/properties/controllerName",
"type": "string",
"title": "Controller Name",
"examples": [
"example"
],
"pattern": "^(.+)$"
},
"sourceTopics": {
"$id": "#/properties/properties/properties/sourceTopics",
"type": "array",
"title": "Source Topics",
"items": {
"$id": "#/properties/properties/properties/sourceTopics/items",
"type": "object",
"title": "Topic Data",
"required": [
"topicName",
"serialization"
],
"properties": {
"topicName": {
"$id": "#/properties/properties/properties/sourceTopics/items/properties/topicName",
"type": "string",
"title": "Topic Name",
"examples": [
"DCAE_TOPIC"
],
"pattern": "^(.+)$"
},
"serialization": {
"$id": "#/properties/properties/properties/sourceTopics/items/properties/serialization",
"type": "array",
"title": "Serialization",
"items": {
"$id": "#/properties/properties/properties/sourceTopics/items/properties/serialization/items",
"type": "object",
"title": "Serialization Data",
"required": [
"eventClass",
"eventFilter",
"customSerializer"
],
"properties": {
"eventClass": {
"$id": "#/properties/properties/properties/sourceTopics/items/properties/serialization/items/properties/eventClass",
"type": "string",
"title": "Event Class",
"examples": [
"org.onap.policy.controlloop.CanonicalOnset"
],
"pattern": "^(.+)$"
},
"eventFilter": {
"$id": "#/properties/properties/properties/sourceTopics/items/properties/serialization/items/properties/eventFilter",
"type": "string",
"title": "Event Filter",
"examples": [
"[?($.closedLoopEventStatus == 'ONSET')]"
],
"pattern": "^(.+)$"
},
"customSerializer": {
"$id": "#/properties/properties/properties/sourceTopics/items/properties/serialization/items/properties/customSerializer",
"type": "object",
"title": "Custom Serializer",
"required": [
"customSerializerClass",
"jsonParser"
],
"properties": {
"customSerializerClass": {
"$id": "#/properties/properties/properties/sourceTopics/items/properties/serialization/items/properties/customSerializer/properties/customSerializerClass",
"type": "string",
"title": "Custom Serializer Class",
"examples": [
"org.onap.policy.controlloop.util.Serialization"
],
"pattern": "^(.*)$"
},
"jsonParser": {
"$id": "#/properties/properties/properties/sourceTopics/items/properties/serialization/items/properties/customSerializer/properties/jsonParser",
"type": "string",
"title": "JSON Parser reference",
"examples": [
"gson"
],
"pattern": "^(.+)$"
}
}
}
}
}
}
}
}
},
"sinkTopics": {
"$id": "#/properties/properties/properties/sinkTopics",
"type": "array",
"title": "Sink Topics",
"items": {
"$id": "#/properties/properties/properties/sinkTopics/items",
"type": "object",
"title": "Sink Topic Data",
"required": [
"topicName",
"serialization"
],
"properties": {
"topicName": {
"$id": "#/properties/properties/properties/sinkTopics/items/properties/topicName",
"type": "string",
"title": "Topic Name",
"default": "",
"examples": [
"APPC-CL"
],
"pattern": "^(.+)$"
},
"serialization": {
"$id": "#/properties/properties/properties/sinkTopics/items/properties/serialization",
"type": "array",
"title": "The Serialization Schema",
"items": {
"$id": "#/properties/properties/properties/sinkTopics/items/properties/serialization/items",
"type": "object",
"title": "Serialization Data",
"required": [
"eventClass",
"eventFilter"
],
"properties": {
"eventClass": {
"$id": "#/properties/properties/properties/sinkTopics/items/properties/serialization/items/properties/eventClass",
"type": "string",
"title": "Event Class",
"examples": [
"org.onap.policy.appc.Response"
],
"pattern": "^(.+)$"
},
"eventFilter": {
"$id": "#/properties/properties/properties/sinkTopics/items/properties/serialization/items/properties/eventFilter",
"type": "string",
"title": "The Eventfilter Schema",
"examples": [
"[?($.CommonHeader && $.Status)]"
],
"pattern": "^(.+)$"
},
"customSerializer": {
"$id": "#/properties/properties/properties/sinkTopics/items/properties/serialization/items/properties/customSerializer",
"type": "object",
"title": "The Customserializer Schema",
"required": [
"customSerializerClass",
"jsonParser"
],
"properties": {
"customSerializerClass": {
"$id": "#/properties/properties/properties/sinkTopics/items/properties/serialization/items/properties/customSerializer/properties/customSerializerClass",
"type": "string",
"title": "The Customserializerclass Schema",
"examples": [
"org.onap.policy.appc.util.Serialization"
],
"pattern": "^(.+)$"
},
"jsonParser": {
"$id": "#/properties/properties/properties/sinkTopics/items/properties/serialization/items/properties/customSerializer/properties/jsonParser",
"type": "string",
"title": "The Jsonparser Schema",
"examples": [
"gsonPretty"
],
"pattern": "^(.+)$"
}
}
}
}
}
}
}
}
},
"customConfig": {
"$id": "#/properties/properties/properties/customConfig",
"type": "object",
"title": "other Configuration"
}
}
}
}
}