{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/talend/json-schema/talend-status-response-schema.json",
  "title": "StatusResponse",
  "description": "Describe the status",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/talend-dynamic-engine-controller-api-openapi.yml#/components/schemas/StatusResponse",
  "type": "object",
  "required": [
    "status"
  ],
  "properties": {
    "status": {
      "type": "string",
      "description": "The global status",
      "enum": [
        "STARTING",
        "RUNNING",
        "UPDATING",
        "STOPPING",
        "NOT_FOUND",
        "NOT_DEPLOYED",
        "IN_ERROR"
      ]
    },
    "dynamicEngineVersion": {
      "type": "string",
      "description": "The version of the dynamic engine"
    },
    "deploymentType": {
      "type": "string",
      "description": "The type of deployment used to install the dynamic engine",
      "enum": [
        "helm",
        "kubectl",
        "unknown",
        "ALL"
      ]
    },
    "jobDeleteStatus": {
      "type": "string",
      "description": "The status of the delete job",
      "enum": [
        "SUCCEEDED",
        "FAILED",
        "RUNNING"
      ]
    },
    "services": {
      "type": "array",
      "description": "The services details",
      "items": {
        "$ref": "#/$defs/ServiceDetails"
      },
      "minItems": 0,
      "maxItems": 50
    },
    "failureEvents": {
      "type": "array",
      "description": "The failure events",
      "items": {
        "$ref": "#/$defs/KubernetesEvent"
      },
      "minItems": 0,
      "maxItems": 100
    }
  },
  "$defs": {
    "KubernetesEvent": {
      "type": "object",
      "description": "Describe an engine event",
      "properties": {
        "message": {
          "type": "string",
          "description": "The event's message",
          "minLength": 1
        },
        "source": {
          "type": "string",
          "description": "The event's source",
          "minLength": 1
        },
        "creationDate": {
          "type": "string",
          "description": "The event's creation date with timezone",
          "minLength": 1
        }
      }
    },
    "ServiceDetails": {
      "type": "object",
      "required": [
        "status"
      ],
      "description": "Details of the installed service",
      "properties": {
        "name": {
          "type": "string",
          "description": "The service's name",
          "minLength": 1
        },
        "status": {
          "type": "string",
          "description": "The service's status",
          "enum": [
            "RUNNING",
            "UPDATING",
            "STARTING",
            "NOT_DEPLOYED",
            "IN_ERROR"
          ]
        },
        "chartVersion": {
          "type": "string",
          "description": "The service's version"
        },
        "creationDate": {
          "type": "string",
          "description": "The service's creation date with timezone"
        },
        "lastUpdateDate": {
          "type": "string",
          "description": "The service's last update date with timezone"
        },
        "appsVersion": {
          "type": "object",
          "description": "All application's version running in this service"
        },
        "podsErrors": {
          "type": "object",
          "description": "The error messages of all the non-running pods of the service"
        },
        "resourcesErrors": {
          "type": "object",
          "description": "The error messages of all the non-deployment resources of the service that are not ready"
        },
        "jobStatus": {
          "type": "string",
          "description": "The status of the job that installed the service",
          "enum": [
            "SUCCEEDED",
            "FAILED",
            "RUNNING"
          ]
        },
        "jobErrorMessage": {
          "type": "string",
          "description": "The error message of the job that installed the service"
        }
      }
    }
  }
}