{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "BizTalk Server Application Inventory Schema",
  "id": "http://schema.management.azure.com/schemas/2017-04-01/BizTalkServerApplicationSchema.json#",
  "properties": {
    "BizTalkAssemblies": {
      "type": "array",
      "description": "Array of BizTalk Reference Assemblies to be deployed.",
      "items": {
        "type": "object",
        "properties": {
          "Name": {
            "type": "string",
            "description": "Filename of the BizTalk Referenced Assembly."
          },
          "Path": {
            "type": "string",
            "pattern": "\\w+[\\\\](\\w+\\.)*\\w+\\.dll",
            "description": "Relative output filepath for the Referenced Assembly. \r\nExample: bins\\\\bts1.dll"
          }
        }
      }
    },
    "BindingsFiles": {
      "type": "array",
      "description": "Array of Binding Files used in Deployment.",
      "items": {
        "type": "object",
        "properties": {
          "Name": {
            "type": "string",
            "description": "Filename of the Bindings File."
          },
          "Path": {
            "type": "string",
            "pattern": "\\w+[\\\\](\\w+\\.)*\\w+\\.xml",
            "description": "Relative output filepath for the Bindings File.\r\nExample: bindings\\\\binding1.xml"
          }
        }
      }
    },
    "Assemblies": {
      "type": "array",
      "description": "Array of Reference Assemblies to be deployed.",
      "items": {
        "type": "object",
        "properties": {
          "Name": {
            "type": "string",
            "description": "Filename of the Referenced Assembly."
          },
          "Path": {
            "type": "string",
            "pattern": "\\w+[\\\\](\\w+\\.)*\\w+\\.dll",
            "description": "Relative output filepath for the Unmanaged Referenced Assembly. \r\nExample: bins\\\\bts1.dll"
          }
        }
      }
    },
    "PreProcessingScripts": {
      "type": "array",
      "description": "Pre-Processing Scripts used in Deployment.",
      "items": {
        "type": "object",
        "properties": {
          "Name": {
            "type": "string",
            "description": "Filename of the Pre Processing Script."
          },
          "Path": {
            "type": "string",
            "pattern": "\\w+[\\\\](\\w+\\.)*\\w+\\.\\w+",
            "description": "Relative output filepath for the Pre Processing Script.\r\nExample: bins\\\\Script1.vbs"
          },
          "Arguments": {
            "type": "string",
            "pattern": "\\w+(,\\w+)*",
            "description": "Arguments for the Pre Processing Script .\r\nExample: arg1,arg2"
          }
        }
      }
    },
    "PostProcessingScripts": {
      "type": "array",
      "description": "Post-Processing Scripts used in Deployment.",
      "items": {
        "type": "object",
        "properties": {
          "Name": {
            "type": "string",
            "description": "Filename of the Post Processing Script."
          },
          "Path": {
            "type": "string",
            "pattern": "\\w+[\\\\](\\w+\\.)*\\w+\\.\\w+",
            "description": "Relative output filepath for the Post Processing Script.\r\nExample: Script\\\\Script1.vbs"
          },
          "Arguments": {
            "type": "string",
            "pattern": "\\w+(,\\w+)*",
            "description": "Arguments for the Post Processing Script .\r\nExample: arg1,arg2"
          }
        }
      }
    },
    "Files": {
      "type": "array",
      "description": "File used in Deployment.",
      "items": {
        "type": "object",
        "properties": {
          "Name": {
            "type": "string",
            "description": "Name of the File"
          },
          "Path": {
            "type": "string",
            "pattern": "\\w+[\\\\](\\w+\\.)*\\w+\\.\\w+",
            "description": "Relative output filepath for the Files.\r\nExample: File\\\\File.txt"
          }
        }
      }
    },
    "DeploymentSequence": {
      "type": "array",
      "description": "Sequence of Binding Files, Reference Assemblies, Pre-Processing and Post-Processing Scripts used in Deployment.",
      "items": {
        "type": "string"
      }
    }
  },
  "required": ["BizTalkAssemblies", "BindingsFiles", "DeploymentSequence"],
  "title": "BizTalkServerApplicationInventorySchema",
  "type": "object"
}