{
  "$comment": "This file is autogenerated, do not modify it by hand.",
  "$id": "https://cdn.mia-platform.eu/catalog/v1alpha1/mia-platform.eu.v1alpha1.Item.json",
  "description": "An entity recorded on the Catalog.",
  "examples": [
    {
      "apiVersion": "stable.example.com/v1",
      "kind": "DockerImage",
      "metadata": {
        "annotations": {
          "mia-platform.eu/version": "14.0.0"
        },
        "creationTimestamp": "2025-09-17T10:30:45Z",
        "description": "The Docker image of the Mia-Platform API Gateway",
        "labels": {
          "environment": "demo"
        },
        "links": [
          {
            "title": "Documentation",
            "url": "https://docs.mia-platform.eu/"
          }
        ],
        "name": "mia-api-gateway-100",
        "tags": [
          "api"
        ],
        "title": "Mia API Gateway",
        "uid": "550e8400-e29b-41d4-a716-446655440000",
        "updateTimestamp": "2025-09-17T10:30:45Z",
        "urn": "urn:mia-platform-catalog:stable.example.com:v1:DockerImage:mia-api-gateway-100"
      },
      "resourceVersion": "1",
      "spec": {
        "imageName": "api-gateway",
        "registry": "nexus.mia-platform.eu",
        "tag": "1.0.0"
      }
    }
  ],
  "properties": {
    "apiVersion": {
      "description": "The versioned schema of this representation of an object.",
      "examples": [
        "stable.example.com/v1alpha1"
      ],
      "pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])*)*/v[0-9]+(alpha[0-9]+|beta[0-9]+)?$",
      "type": "string"
    },
    "customFields": {
      "additionalProperties": {},
      "description": "A map of custom fields that can be used to store additional information about this object.\n\nCustom fields are registered in the system as entities of kind `CustomField` (`custom-fields.mia-platform.eu`).\nThe key of each entry in this map corresponds to the `spec.key` of a `CustomField` entity, and the value should conform to the schema defined in the `spec.schema` field of that entity. However, clients should not give for granted the existence of the `CustomField` entities nor the validity of the data in this map, and should handle it accordingly.",
      "propertyNames": {
        "type": "string"
      },
      "type": [
        "object",
        "null"
      ]
    },
    "kind": {
      "description": "The type of this object.",
      "examples": [
        "DockerImage"
      ],
      "pattern": "^[a-zA-Z][a-zA-Z0-9]*$",
      "type": "string"
    },
    "metadata": {
      "description": "The standard object metadata.",
      "properties": {
        "annotations": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "An unstructured key value map that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying this object.",
          "examples": [
            {
              "image-registry": "https://hub.docker.com/",
              "mia-platform.eu/version": "14.0.0"
            }
          ],
          "propertyNames": {
            "pattern": "^([a-zA-Z0-9][a-zA-Z0-9.-]{0,253}[/])?([a-zA-Z0-9][a-zA-Z0-9.-]{0,63}[a-zA-Z0-9]?)$",
            "type": "string"
          },
          "type": "object"
        },
        "creationTimestamp": {
          "description": "The server time when this object was created. Clients may not set this value. It is represented in ISO 8601 form and is in UTC.",
          "examples": [
            "2025-09-17T10:30:45Z"
          ],
          "format": "date-time",
          "readOnly": true,
          "type": [
            "string",
            "null"
          ]
        },
        "description": {
          "description": "A brief description of this object.",
          "type": [
            "string",
            "null"
          ]
        },
        "labels": {
          "additionalProperties": {
            "maxLength": 63,
            "pattern": "^([a-zA-Z0-9]([a-zA-Z0-9._-]{0,61}[a-zA-Z0-9])?|)$",
            "type": "string"
          },
          "description": "A map of string keys and values that can be used to organize and categorize (scope and select) objects.",
          "examples": [
            {
              "environment": "dev",
              "mia-platform.eu/tenant": "my-company",
              "track": ""
            }
          ],
          "propertyNames": {
            "pattern": "^([a-zA-Z0-9][a-zA-Z0-9.-]{0,253}[/])?([a-zA-Z0-9][a-zA-Z0-9.-]{0,63}[a-zA-Z0-9]?)$",
            "type": "string"
          },
          "type": "object"
        },
        "links": {
          "description": "A list of external hyperlinks.",
          "items": {
            "examples": [
              {
                "title": "Mia-Platform",
                "url": "https://mia-platform.eu/"
              },
              {
                "url": "https://example.com"
              }
            ],
            "properties": {
              "title": {
                "description": "A display name for the link.",
                "minLength": 1,
                "type": [
                  "string",
                  "null"
                ]
              },
              "url": {
                "description": "The URL in standard URI format.",
                "format": "uri",
                "type": "string"
              }
            },
            "required": [
              "url"
            ],
            "type": "object"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "name": {
          "description": "The name of this object. It must be unique within object of the same type. It is represented in RFC 1035 DNS subdomain format.",
          "examples": [
            "api-gateway",
            "dockerimages.stable.example.com"
          ],
          "maxLength": 253,
          "minLength": 1,
          "pattern": "^[a-z0-9]([a-z0-9.-]*[a-z0-9])?$",
          "readOnly": true,
          "type": "string"
        },
        "tags": {
          "description": "A list of single-valued strings.",
          "items": {
            "examples": [
              "ai",
              "env-production"
            ],
            "maxLength": 63,
            "minLength": 1,
            "pattern": "^[a-z0-9:+#]+(-[a-z0-9:+#]+)*$",
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "title": {
          "description": "A display name of this object. It is to be presented in user interfaces instead of the `metadata.name` of this object, when available.",
          "examples": [
            "Plugin",
            "Custom Workload",
            "AI Agent"
          ],
          "minLength": 1,
          "type": [
            "string",
            "null"
          ]
        },
        "uid": {
          "description": "The unique in time and space identifier for this object. Clients may not set this value. It is represented in RFC 4122 form.",
          "examples": [
            "550e8400-e29b-41d4-a716-446655440000"
          ],
          "format": "uuid",
          "readOnly": true,
          "type": [
            "string",
            "null"
          ]
        },
        "updateTimestamp": {
          "description": "The server time when this object was last updated. Clients may not set this value. It is represented in ISO 8601 form and is in UTC.",
          "examples": [
            "2025-09-17T10:30:45Z"
          ],
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        },
        "urn": {
          "description": "The Uniform Resource Name (URN) of this object. It is represented in the format `urn:mia-platform-catalog:<group>:<version>:<kind>:<name>`. Clients may not set this value.",
          "examples": [
            "urn:mia-platform-catalog:stable.example.com:v1:DockerImage:my-resource"
          ],
          "pattern": "^urn:mia-platform-catalog:([a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*):(v[0-9]+(?:alpha[0-9]+|beta[0-9]+)?):([a-zA-Z][a-zA-Z0-9]*):([a-z0-9](?:[a-z0-9.-]*[a-z0-9])?)$",
          "readOnly": true,
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "resourceVersion": {
      "description": "An opaque value that represents the internal version of this object. Clients may not set this value and must treat it as opaque. Read-only.",
      "readOnly": true,
      "type": [
        "string",
        "null"
      ]
    },
    "spec": {
      "description": "The state of this object.",
      "type": "object"
    }
  },
  "required": [
    "apiVersion",
    "kind",
    "metadata",
    "spec"
  ],
  "type": "object"
}
