{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-data-factory/json-schema/microsoft-azure-data-factory-linked-service-resource-schema.json",
  "title": "LinkedServiceResource",
  "description": "Linked service resource type.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_superseded/microsoft-azure-data-factory-linkedservices-api-openapi.yml#/components/schemas/LinkedServiceResource",
  "type": "object",
  "properties": {
    "properties": {
      "$ref": "#/$defs/LinkedService",
      "description": "Properties of linked service."
    },
    "etag": {
      "type": "string",
      "description": "\"If etag is provided in the response body, it may also be provided as a header per the normal etag convention.  Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\")",
      "readOnly": true
    }
  },
  "required": [
    "properties"
  ],
  "allOf": [
    {
      "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource"
    }
  ],
  "$defs": {
    "IntegrationRuntimeReference": {
      "type": "object",
      "description": "Integration runtime reference type.",
      "properties": {
        "type": {
          "$ref": "#/$defs/IntegrationRuntimeReferenceType",
          "description": "Type of integration runtime."
        },
        "referenceName": {
          "type": "string",
          "description": "Reference integration runtime name."
        },
        "parameters": {
          "type": "object",
          "description": "Arguments for integration runtime.",
          "additionalProperties": {}
        }
      },
      "required": [
        "type",
        "referenceName"
      ]
    },
    "IntegrationRuntimeReferenceType": {
      "type": "string",
      "description": "Type of integration runtime.",
      "enum": [
        "IntegrationRuntimeReference"
      ],
      "x-ms-enum": {
        "name": "IntegrationRuntimeReferenceType",
        "modelAsString": true,
        "values": [
          {
            "name": "IntegrationRuntimeReference",
            "value": "IntegrationRuntimeReference",
            "description": "IntegrationRuntimeReference"
          }
        ]
      }
    },
    "LinkedService": {
      "type": "object",
      "description": "The nested object which contains the information and credential which can be used to connect with related store or compute resource.",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of linked service."
        },
        "version": {
          "type": "string",
          "description": "Version of the linked service."
        },
        "connectVia": {
          "$ref": "#/$defs/IntegrationRuntimeReference",
          "description": "The integration runtime reference."
        },
        "description": {
          "type": "string",
          "description": "Linked service description."
        },
        "parameters": {
          "type": "object",
          "description": "Parameters for linked service.",
          "additionalProperties": {
            "$ref": "#/$defs/ParameterSpecification"
          }
        },
        "annotations": {
          "type": "array",
          "description": "List of tags that can be used for describing the linked service.",
          "items": {}
        }
      },
      "required": [
        "type"
      ],
      "additionalProperties": {}
    },
    "ParameterSpecification": {
      "type": "object",
      "description": "Definition of a single parameter for an entity.",
      "properties": {
        "type": {
          "$ref": "#/$defs/ParameterType",
          "description": "Parameter type."
        },
        "defaultValue": {
          "description": "Default value of parameter."
        }
      },
      "required": [
        "type"
      ]
    },
    "ParameterType": {
      "type": "string",
      "description": "Parameter type.",
      "enum": [
        "Object",
        "String",
        "Int",
        "Float",
        "Bool",
        "Array",
        "SecureString"
      ],
      "x-ms-enum": {
        "name": "ParameterType",
        "modelAsString": true,
        "values": [
          {
            "name": "Object",
            "value": "Object",
            "description": "Object"
          },
          {
            "name": "String",
            "value": "String",
            "description": "String"
          },
          {
            "name": "Int",
            "value": "Int",
            "description": "Int"
          },
          {
            "name": "Float",
            "value": "Float",
            "description": "Float"
          },
          {
            "name": "Bool",
            "value": "Bool",
            "description": "Bool"
          },
          {
            "name": "Array",
            "value": "Array",
            "description": "Array"
          },
          {
            "name": "SecureString",
            "value": "SecureString",
            "description": "SecureString"
          }
        ]
      }
    }
  }
}