{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Image",
  "description": "Image schema from Palo Alto Networks Prisma Cloud Compute API",
  "$id": "https://raw.githubusercontent.com/api-evangelist/palo-alto-networks/refs/heads/main/json-schema/prisma-cloud-compute-api-image-schema.json",
  "type": "object",
  "properties": {
    "_id": {
      "type": "string",
      "description": "Unique image identifier composed of registry, repository, and tag."
    },
    "hostname": {
      "type": "string",
      "description": "Hostname of the machine where the image was scanned."
    },
    "scanTime": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp of the most recent scan."
    },
    "repoTag": {
      "type": "object",
      "description": "Repository and tag information for the image.",
      "properties": {
        "registry": {
          "type": "string",
          "description": "Container registry URL."
        },
        "repo": {
          "type": "string",
          "description": "Repository name."
        },
        "tag": {
          "type": "string",
          "description": "Image tag."
        }
      }
    },
    "repoDigests": {
      "type": "array",
      "description": "Content-addressable image digests.",
      "items": {
        "type": "string"
      }
    },
    "osDistro": {
      "type": "string",
      "description": "Operating system distribution of the image."
    },
    "osDistroVersion": {
      "type": "string",
      "description": "Operating system distribution version."
    },
    "vulnerabilities": {
      "type": "array",
      "description": "Vulnerabilities discovered in the image.",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "CVE identifier (e.g., CVE-2024-1234)."
          },
          "status": {
            "type": "string",
            "enum": [
              "fixed in",
              "needed",
              "will not fix",
              "deferred"
            ],
            "description": "Fix availability status."
          },
          "cvss": {
            "type": "number",
            "format": "float",
            "description": "CVSS v3 base score."
          },
          "severity": {
            "type": "string",
            "enum": [
              "critical",
              "high",
              "medium",
              "low"
            ],
            "description": "Severity level derived from CVSS score."
          },
          "packageName": {
            "type": "string",
            "description": "Name of the affected package."
          },
          "packageVersion": {
            "type": "string",
            "description": "Installed version of the affected package."
          },
          "fixedVersion": {
            "type": "string",
            "description": "Version that contains the fix, if available."
          },
          "link": {
            "type": "string",
            "description": "URL to the CVE advisory or details page."
          },
          "description": {
            "type": "string",
            "description": "Brief description of the vulnerability."
          },
          "publishedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date the vulnerability was publicly disclosed."
          }
        }
      }
    },
    "vulnerabilitiesCount": {
      "type": "integer",
      "description": "Total number of vulnerabilities found."
    },
    "vulnerabilityDistribution": {
      "type": "object",
      "description": "Vulnerability count by severity level.",
      "properties": {
        "critical": {
          "type": "integer"
        },
        "high": {
          "type": "integer"
        },
        "medium": {
          "type": "integer"
        },
        "low": {
          "type": "integer"
        }
      }
    },
    "complianceIssues": {
      "type": "array",
      "description": "Compliance check failures for the image.",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Compliance check ID."
          },
          "title": {
            "type": "string",
            "description": "Title of the compliance check."
          },
          "severity": {
            "type": "string",
            "enum": [
              "critical",
              "high",
              "medium",
              "low"
            ],
            "description": "Severity of the compliance issue."
          },
          "cause": {
            "type": "string",
            "description": "Explanation of why the resource failed the check."
          },
          "description": {
            "type": "string",
            "description": "Detailed description of the compliance requirement."
          }
        }
      }
    },
    "complianceIssuesCount": {
      "type": "integer",
      "description": "Total number of compliance issues found."
    },
    "clusters": {
      "type": "array",
      "description": "Kubernetes clusters where this image is deployed.",
      "items": {
        "type": "string"
      }
    }
  }
}
