{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/stackit/main/json-schema/stackit-artifactory-schema.json",
  "title": "Artifactory",
  "description": "Artifactory Information.",
  "x-generated": "2026-10-18",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/stackit-registry-openapi.yml#/components/schemas/Artifactory",
  "properties": {
    "consumed_quota_bytes": {
      "description": "How many bytes of quota is consumed. Read Only.",
      "format": "int64",
      "type": "integer"
    },
    "create_time": {
      "description": "The date and time the creation of the STACKIT Artifactory was triggered.",
      "format": "date-time",
      "maxLength": 48,
      "type": "string"
    },
    "id": {
      "description": "A auto generated unique id which identifies the STACKIT Artifactory.",
      "format": "uuid",
      "maxLength": 36,
      "type": "string"
    },
    "name": {
      "description": "A user chosen name to distinguish multiple STACKIT Artifactories.",
      "maxLength": 255,
      "type": "string"
    },
    "proxy": {
      "$ref": "#/$defs/Proxy"
    },
    "state": {
      "description": "The current state of the STACKIT Artifactory.",
      "enum": [
        "Reconciling",
        "Active",
        "Deleted",
        "Error"
      ],
      "type": "string"
    },
    "url": {
      "description": "The base URL of the STACKIT Artifactory.",
      "format": "uri",
      "type": "string"
    }
  },
  "required": [
    "id",
    "name",
    "create_time",
    "state",
    "url",
    "consumed_quota_bytes"
  ],
  "type": "object",
  "$defs": {
    "Proxy": {
      "description": "Replication settings for a proxy-cache artifactory",
      "properties": {
        "credentials": {
          "$ref": "#/$defs/RedactedCredentials"
        },
        "description": {
          "description": "Description of the registry.",
          "type": "string"
        },
        "registry_type": {
          "description": "Which replication adapter to use for this registry. Discover the\nlist of supported replication adapters, and therefore supported\nregistry types, by calling GET /v1/projects/{projectId}/regions/{regionId}/replication/adapters\n",
          "type": "string"
        },
        "url": {
          "description": "Upstream registry url to proxy",
          "type": "string"
        }
      },
      "required": [
        "registry_type",
        "url"
      ],
      "type": "object"
    },
    "RedactedCredentials": {
      "description": "Credentials for upstream registry, redacted",
      "properties": {
        "access_key": {
          "type": "string"
        }
      },
      "required": [
        "access_key"
      ],
      "type": "object"
    }
  }
}