{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the artifact.",
      "minLength": 1,
      "maxLength": 256
    },
    "digest": {
      "type": "string",
      "description": "The hex encoded digest of the artifact.",
      "minLength": 71,
      "maxLength": 71,
      "pattern": "^sha256:[a-f0-9]{64}$"
    },
    "version": {
      "type": "string",
      "description": "The artifact version.",
      "minLength": 1,
      "maxLength": 100,
      "x-multi-segment": true
    },
    "status": {
      "type": "string",
      "description": "The status of the artifact. Can be either deployed or decommissioned.",
      "enum": [
        "deployed",
        "decommissioned"
      ]
    },
    "logical_environment": {
      "type": "string",
      "description": "The stage of the deployment.",
      "minLength": 1,
      "maxLength": 128
    },
    "physical_environment": {
      "type": "string",
      "description": "The physical region of the deployment.",
      "maxLength": 128
    },
    "cluster": {
      "type": "string",
      "description": "The deployment cluster.",
      "maxLength": 128
    },
    "deployment_name": {
      "type": "string",
      "description": "The unique identifier for the deployment represented by the new record. To accommodate differing\ncontainers and namespaces within a cluster, the following format is recommended:\n{namespaceName}-{deploymentName}-{containerName}.\n",
      "maxLength": 256
    },
    "tags": {
      "type": "object",
      "description": "The tags associated with the deployment.",
      "additionalProperties": {
        "type": "string"
      },
      "maxProperties": 5
    },
    "runtime_risks": {
      "type": "array",
      "description": "A list of runtime risks associated with the deployment.",
      "maxItems": 4,
      "uniqueItems": true,
      "items": {
        "type": "string",
        "enum": [
          "critical-resource",
          "internet-exposed",
          "lateral-movement",
          "sensitive-data"
        ]
      }
    },
    "github_repository": {
      "type": "string",
      "description": "The name of the GitHub repository associated with the artifact. This should be used\nwhen there are no provenance attestations available for the artifact. The repository\nmust belong to the organization specified in the path parameter.\n\nIf a provenance attestation is available for the artifact, the API will use\nthe repository information from the attestation instead of this parameter.",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9.\\-_]+$"
    }
  },
  "required": [
    "name",
    "digest",
    "status",
    "logical_environment",
    "deployment_name"
  ],
  "$schema": "https://json-schema.org/draft/2019-09/schema"
}