{
    "definitions": {},
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "http://www.onap.org/policy/models/schemas/onap.policies.controlloop.native.Drools.schema.json",
    "type": "object",
    "title": "Domain onap.policies.controlloop.native.Drools 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": "Properties",
            "required": [
                "rulesArtifact"
            ],
            "properties": {
                "rulesArtifact": {
                    "$id": "#/properties/properties/properties/rulesArtifact",
                    "type": "object",
                    "title": "Rules Artifact",
                    "required": [
                        "groupId",
                        "artifactId",
                        "version"
                    ],
                    "properties": {
                        "groupId": {
                            "$id": "#/properties/properties/properties/rulesArtifact/properties/groupId",
                            "type": "string",
                            "title": "Group Id",
                            "examples": [
                                "org.onap.policy.controlloop"
                            ],
                            "pattern": "^(.*)$"
                        },
                        "artifactId": {
                            "$id": "#/properties/properties/properties/rulesArtifact/properties/artifactId",
                            "type": "string",
                            "title": "Artifact ID",
                            "examples": [
                                "example"
                            ],
                            "pattern": "^(.*)$"
                        },
                        "version": {
                            "$id": "#/properties/properties/properties/rulesArtifact/properties/version",
                            "type": "string",
                            "title": "Version",
                            "examples": [
                                "1.0.0"
                            ],
                            "pattern": "^(.*)$"
                        }
                    }
                },
                "controller": {
                    "$id": "#/properties/properties/properties/controller",
                    "type": "object",
                    "title": "Controller",
                    "required": [
                        "name",
                        "version"
                    ],
                    "properties": {
                        "name": {
                            "$id": "#/properties/properties/properties/controller/properties/name",
                            "type": "string",
                            "title": "Name",
                            "examples": [
                                "example"
                            ],
                            "pattern": "^(.+)$"
                        },
                        "version": {
                            "$id": "#/properties/properties/properties/controller/properties/version",
                            "type": "string",
                            "title": "Version",
                            "examples": [
                                "1.0.0"
                            ],
                            "pattern": "^(.*)$"
                        }
                    }
                }
            }
        }
    }
}