{ "definitions": {}, "$schema": "http://json-schema.org/draft-07/schema#", "$id": "http://www.onap.org/policy/models/schemas/onap.policies.controlloop.operational.common.Drools.schema.json", "type": "object", "title": "The Root Schema", "required": [ "type", "type_version", "version", "metadata", "properties" ], "properties": { "type": { "$id": "#/properties/type", "type": "string", "title": "Policy Type", "default": "onap.policies.controlloop.operational.common.Drools", "examples": [ "onap.policies.controlloop.operational.common.Drools" ], "pattern": "^(.+)$" }, "type_version": { "$id": "#/properties/type_version", "type": "string", "title": "Policy Type Version", "default": "1.0.0", "examples": [ "1.0.0" ], "pattern": "^(.+)$" }, "name": { "$id": "#/properties/name", "type": "string", "title": "Policy Name", "default": "", "examples": [ "example" ], "pattern": "^(.*)$" }, "version": { "$id": "#/properties/version", "type": "string", "title": "Policy Version", "default": "1.0.0", "examples": [ "1.0.0" ], "pattern": "^(.+)$" }, "metadata": { "$id": "#/properties/metadata", "type": "object", "title": "Metadata", "required": [ "policy-id" ], "properties": { "policy-id": { "$id": "#/properties/metadata/properties/policy-id", "type": "string", "title": "Policy ID", "examples": [ "operational.restart" ], "pattern": "^(.+)$" } } }, "properties": { "$id": "#/properties/properties", "type": "object", "title": "Properties", "required": [ "id", "timeout", "abatement", "trigger", "operations" ], "properties": { "id": { "$id": "#/properties/properties/properties/id", "type": "string", "title": "Control Loop Name", "examples": [ "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e" ], "pattern": "^(.+)$" }, "timeout": { "$id": "#/properties/properties/properties/timeout", "type": "integer", "title": "Timeout in seconds", "minimum": 1, "default": 30, "examples": [ 3600 ] }, "abatement": { "$id": "#/properties/properties/properties/abatement", "type": "boolean", "title": "Abatement", "default": false, "examples": [ true ] }, "trigger": { "$id": "#/properties/properties/properties/trigger", "type": "string", "title": "Trigger Operation", "examples": [ "unique-policy-id-1-restart" ], "pattern": "^(.+)$" }, "operations": { "$id": "#/properties/properties/properties/operations", "type": "array", "title": "Operations", "items": { "$id": "#/properties/properties/properties/operations/items", "type": "object", "title": "Items", "uniqueItems": true, "required": [ "id", "operation", "timeout", "retries", "success", "failure" ], "properties": { "id": { "$id": "#/properties/properties/properties/operations/items/properties/id", "type": "string", "title": "Operation Identifier", "examples": [ "unique-policy-id-1-restart" ], "pattern": "^(.+)$" }, "description": { "$id": "#/properties/properties/properties/operations/items/properties/description", "type": "string", "title": "Description", "examples": [ "Restart the VM" ], "pattern": "^(.+)$" }, "operation": { "$id": "#/properties/properties/properties/operations/items/properties/operation", "type": "object", "title": "Operation", "required": [ "actor", "operation", "target" ], "properties": { "actor": { "$id": "#/properties/properties/properties/operations/items/properties/operation/properties/actor", "type": "string", "title": "Actor", "examples": [ "APPC" ], "pattern": "^(.+)$" }, "operation": { "$id": "#/properties/properties/properties/operations/items/properties/operation/properties/operation", "type": "string", "title": "Operation Name", "examples": [ "Restart" ], "pattern": "^(.+)$" }, "target": { "$id": "#/properties/properties/properties/operations/items/properties/operation/properties/target", "type": "object", "title": "Target", "required": [ "targetType" ], "properties": { "targetType": { "$id": "#/properties/properties/properties/operations/items/properties/operation/properties/target/properties/targetType", "type": "string", "title": "Target Type", "examples": [ "VNF" ], "pattern": "^(.+)$" }, "entityIds": { "$id": "#/properties/properties/properties/operations/items/properties/operation/properties/target/properties/entityIds", "type": "object", "title": "Arbitrary Resource Identities", "examples": [ "Eace933104d443b496b8.nodes.heat.vpg" ], "additionalProperties": { "type": "string", "pattern": "^(.+)$" } } } }, "payload": { "$id": "#/properties/properties/properties/operations/items/properties/operation/properties/payload", "type": "object", "title": "Payload", "additionalProperties": { "type": "string", "pattern": "^(.+)$" } } } }, "timeout": { "$id": "#/properties/properties/properties/operations/items/properties/timeout", "type": "integer", "title": "Operation Timeout in seconds", "default": 10, "minimum": 1, "examples": [ 1200 ] }, "retries": { "$id": "#/properties/properties/properties/operations/items/properties/retries", "type": "integer", "title": "Number of Retries", "default": 0, "examples": [ 3 ] }, "success": { "$id": "#/properties/properties/properties/operations/items/properties/success", "type": "string", "title": "Success Treatment", "default": "final_success", "examples": [ "final_success", "unique-policy-id-2" ], "pattern": "^(.+)$" }, "failure": { "$id": "#/properties/properties/properties/operations/items/properties/failure", "type": "string", "title": "Failure Treatment", "default": "final_failure", "examples": [ "final_failure", "unique-policy-id-2" ], "pattern": "^(.+)$" }, "failure_timeout": { "$id": "#/properties/properties/properties/operations/items/properties/failure_timeout", "type": "string", "title": "Failure Timeout Treatment", "default": "final_failure_timeout", "examples": [ "final_failure_timeout", "unique-policy-id-2" ], "pattern": "^(.+)$" }, "failure_retries": { "$id": "#/properties/properties/properties/operations/items/properties/failure_retries", "type": "string", "title": "Failure Retry Treatment", "default": "final_failure_retries", "examples": [ "final_failure_retries", "unique-policy-id-2" ], "pattern": "^(.+)$" }, "failure_exception": { "$id": "#/properties/properties/properties/operations/items/properties/failure_exception", "type": "string", "title": "Failure Exception Treatment", "default": "", "examples": [ "final_failure_exception", "unique-policy-id-2" ], "pattern": "^(.+)$" }, "failure_guard": { "$id": "#/properties/properties/properties/operations/items/properties/failure_guard", "type": "string", "title": "Failure Guard Treatment", "default": "final_failure_guard", "examples": [ "final_failure_guard", "unique-policy-id-2" ], "pattern": "^(.+)$" } } } }, "controllerName": { "$id": "#/properties/properties/properties/controllerName", "type": "string", "title": "Controller Name", "default": "", "examples": [ "usecases" ], "pattern": "^(.+)$" } } } } }