{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/IntegrationInstance",
  "title": "IntegrationInstance",
  "description": "Information about an integration instance.",
  "type": "object",
  "properties": {
    "id": {
      "description": "The integration instance ID.",
      "type": "string",
      "format": "uuid",
      "example": "3f51fa25-310a-421d-bd1a-007f859021a3",
      "readOnly": true
    },
    "name": {
      "description": "The machine name of the integration instance that uniquely identifies it within the catalog.\n",
      "type": "string",
      "example": "aws-lambda-prod",
      "maxLength": 120,
      "minLength": 1,
      "pattern": "^[0-9a-z.-]+$"
    },
    "display_name": {
      "description": "The display name of the integration instance.",
      "type": "string",
      "example": "AWS (prod)",
      "maxLength": 120,
      "minLength": 1
    },
    "description": {
      "description": "The description of the integration instance.",
      "type": "string",
      "maxLength": 2048,
      "nullable": true
    },
    "integration": {
      "$ref": "#/components/schemas/IntegrationRefWithoutInstance"
    },
    "authorized": {
      "description": "Denotes whether the integration instance has been authorized within the catalog.",
      "type": "boolean",
      "example": true,
      "readOnly": true
    },
    "labels": {
      "$ref": "#/components/schemas/Labels"
    },
    "config": {
      "$ref": "#/components/schemas/IntegrationInstanceConfig"
    },
    "created_at": {
      "$ref": "#/components/schemas/CreatedAt"
    },
    "updated_at": {
      "$ref": "#/components/schemas/UpdatedAt"
    }
  },
  "required": [
    "id",
    "name",
    "display_name",
    "description",
    "integration",
    "authorized",
    "config",
    "created_at",
    "updated_at"
  ]
}