{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-stream-analytics/json-schema/microsoft-azure-stream-analytics-function-list-result-schema.json",
  "title": "FunctionListResult",
  "description": "Object containing a list of functions under a streaming job.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-azure-stream-analytics-functions-api-openapi.yml#/components/schemas/FunctionListResult",
  "type": "object",
  "properties": {
    "value": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Function"
      },
      "readOnly": true,
      "description": "A list of functions under a streaming job. Populated by a 'List' operation."
    },
    "nextLink": {
      "type": "string",
      "readOnly": true,
      "description": "The link (url) to the next page of results."
    }
  },
  "$defs": {
    "Function": {
      "type": "object",
      "description": "A function object, containing all information associated with the named function. All functions are contained under a streaming job.",
      "allOf": [
        {
          "$ref": "#/$defs/SubResource"
        }
      ],
      "properties": {
        "properties": {
          "$ref": "#/$defs/FunctionProperties"
        }
      }
    },
    "FunctionBinding": {
      "type": "object",
      "description": "The physical binding of the function. For example, in the Azure Machine Learning web service’s case, this describes the endpoint.",
      "properties": {
        "type": {
          "type": "string",
          "description": "Indicates the function binding type."
        }
      },
      "required": [
        "type"
      ]
    },
    "FunctionConfiguration": {
      "type": "object",
      "properties": {
        "inputs": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/FunctionInput"
          }
        },
        "output": {
          "$ref": "#/$defs/FunctionOutput"
        },
        "binding": {
          "$ref": "#/$defs/FunctionBinding"
        }
      }
    },
    "FunctionInput": {
      "type": "object",
      "description": "Describes one input parameter of a function.",
      "properties": {
        "dataType": {
          "type": "string",
          "description": "The (Azure Stream Analytics supported) data type of the function input parameter. A list of valid Azure Stream Analytics data types are described at https://msdn.microsoft.com/en-us/library/azure/dn835065.aspx"
        },
        "isConfigurationParameter": {
          "type": "boolean",
          "description": "A flag indicating if the parameter is a configuration parameter. True if this input parameter is expected to be a constant. Default is false."
        }
      }
    },
    "FunctionOutput": {
      "type": "object",
      "description": "Describes the output of a function.",
      "properties": {
        "dataType": {
          "type": "string",
          "description": "The (Azure Stream Analytics supported) data type of the function output. A list of valid Azure Stream Analytics data types are described at https://msdn.microsoft.com/en-us/library/azure/dn835065.aspx"
        }
      }
    },
    "FunctionProperties": {
      "type": "object",
      "description": "The properties that are associated with a function.",
      "properties": {
        "type": {
          "type": "string",
          "description": "Indicates the type of function."
        },
        "etag": {
          "readOnly": true,
          "type": "string",
          "description": "The current entity tag for the function. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency."
        },
        "properties": {
          "$ref": "#/$defs/FunctionConfiguration"
        }
      },
      "required": [
        "type"
      ]
    },
    "SubResource": {
      "type": "object",
      "description": "The base sub-resource model definition.",
      "properties": {
        "id": {
          "readOnly": true,
          "type": "string",
          "description": "Resource Id"
        },
        "name": {
          "type": "string",
          "description": "Resource name"
        },
        "type": {
          "readOnly": true,
          "type": "string",
          "description": "Resource type"
        }
      },
      "x-ms-azure-resource": true
    }
  }
}