All Downloads are FREE. Search and download functionalities are using the official Maven repository.

schema.recommendation-assessment-units.schema.json Maven / Gradle / Ivy

{
  "$id": "recommendation-assessment-units.schema.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Recommendation Assessment Units Schema",
  "description": "Created by Huang, Fuguo. Created date: 2019-June-20.",
  "items": {
    "$ref": "#/definitions/AssessmentUnit"
  },
  "definitions": {
    "AssessmentUnit": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "targets": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Target"
          },
          "minItems": 1
        }
      },
      "required": [
        "name",
        "targets"
      ],
      "title": "AssessmentUnit",
      "description": "A list of assessment units."
    },
    "Target": {
      "type": "object",
      "properties": {
        "version": {
          "type": "string"
        },
        "productName": {
          "type": "string"
        },
        "productVersion": {
          "type": "string"
        },
        "runtime": {
          "type": "string"
        },
        "platform": {
          "type": "string",
          "enum": ["Docker", "VM"]
        },
        "location": {
          "type": "string",
          "enum": ["Private", "Public"]
        },
        "valid": {
          "type": "string",
          "enum": ["true", "false"]
        },
        "issues": {
          "$ref": "#/definitions/TargetIssues"
        },
        "summary": {
          "$ref": "schema/recommendation-assessment-units-summary.schema.json"
        }
      },
      "required": [
        "issues",
        "runtime",
        "platform",
        "location",
        "summary",
        "valid",
        "version",
        "productName",
        "productVersion"
      ],
      "title": "Target"
    },
    "TargetIssues": {
      "type": "object",
      "patternProperties": {
        ".*": {
          "type": "object",
          "$ref": "#/definitions/TargetIssuesCategory"
        }
      },
      "title": "TargetIssues"
    },
    "TargetIssuesCategory": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/TargetIssuesItem"
      }
    },
    "TargetIssuesItem": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "cost": {
          "type": "number",
          "minimum": 0
        },
        "issueOverhead": {
          "type": "number"
        },
        "occurrencesCost": {
          "type": "number",
          "minimum": 0
        },
        "solutionText": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "severity": {
          "$ref": "schema/recommendation-severity.schema.json"
        },
        "occurrencesFields": {
          "$ref": "#/definitions/OccurrencesFields"
        },
        "occurrencesCount": {
          "type": "integer",
          "exclusiveMinimum": 0
        },
        "occurrences": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/OccurrencesFields"
          }
        }
      },
      "required": [
        "id",
        "cost",
        "issueOverhead",
        "occurrences",
        "occurrencesCost",
        "occurrencesCount",
        "occurrencesFields",
        "severity",
        "solutionText",
        "title"
      ],
      "title": "TargetIssuesItem"
    },
    "OccurrencesFields": {
      "type": "object",
      "title": "OccurrencesFields"
    }
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy