{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://github.com/Microsoft/azure-pipelines-vscode/blob/main/service-schema.json",
  "$comment": "v1.219.1",
  "title": "Pipeline schema",
  "description": "A pipeline definition",
  "oneOf": [
    {
      "$ref": "#/definitions/pipeline"
    },
    {
      "type": "string",
      "pattern": "^$"
    }
  ],
  "definitions": {
    "string": {
      "type": "string"
    },
    "sequence": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/any"
      }
    },
    "mapping": {
      "type": "object",
      "additionalProperties": true
    },
    "any": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/any"
          }
        },
        {
          "type": "object",
          "additionalProperties": true
        }
      ]
    },
    "pipeline": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "stages": {
              "description": "Stages are groups of jobs that can run without human intervention",
              "$ref": "#/definitions/stages"
            },
            "pool": {
              "description": "Pool where jobs in this pipeline will run unless otherwise specified",
              "$ref": "#/definitions/pool"
            },
            "name": {
              "description": "Pipeline name",
              "$ref": "#/definitions/string_allowExpressions"
            },
            "appendCommitMessageToRunName": {
              "description": "Append the commit message to the build number",
              "$ref": "#/definitions/boolean"
            },
            "trigger": {
              "description": "Continuous integration triggers",
              "$ref": "#/definitions/trigger"
            },
            "parameters": {
              "description": "Pipeline template parameters",
              "$ref": "#/definitions/pipelineTemplateParameters"
            },
            "pr": {
              "description": "Pull request triggers",
              "$ref": "#/definitions/pr"
            },
            "schedules": {
              "$ref": "#/definitions/schedules"
            },
            "resources": {
              "description": "Containers and repositories used in the build",
              "$ref": "#/definitions/resources"
            },
            "variables": {
              "description": "Variables for this pipeline",
              "$ref": "#/definitions/variables"
            },
            "lockBehavior": {
              "description": "Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests",
              "$ref": "#/definitions/lockBehavior"
            }
          },
          "additionalProperties": false,
          "required": [
            "stages"
          ]
        },
        {
          "type": "object",
          "properties": {
            "extends": {
              "description": "Extends a template",
              "$ref": "#/definitions/extends"
            },
            "pool": {
              "description": "Pool where jobs in this pipeline will run unless otherwise specified",
              "$ref": "#/definitions/pool"
            },
            "name": {
              "description": "Pipeline name",
              "$ref": "#/definitions/string_allowExpressions"
            },
            "appendCommitMessageToRunName": {
              "description": "Append the commit message to the build number",
              "$ref": "#/definitions/boolean"
            },
            "trigger": {
              "description": "Continuous integration triggers",
              "$ref": "#/definitions/trigger"
            },
            "parameters": {
              "description": "Pipeline template parameters",
              "$ref": "#/definitions/pipelineTemplateParameters"
            },
            "pr": {
              "description": "Pull request triggers",
              "$ref": "#/definitions/pr"
            },
            "schedules": {
              "$ref": "#/definitions/schedules"
            },
            "resources": {
              "description": "Containers and repositories used in the build",
              "$ref": "#/definitions/resources"
            },
            "variables": {
              "description": "Variables for this pipeline",
              "$ref": "#/definitions/variables"
            },
            "lockBehavior": {
              "description": "Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests",
              "$ref": "#/definitions/lockBehavior"
            }
          },
          "additionalProperties": false,
          "required": [
            "extends"
          ]
        },
        {
          "type": "object",
          "properties": {
            "jobs": {
              "description": "Jobs represent units of work which can be assigned to a single agent or server",
              "$ref": "#/definitions/jobs"
            },
            "pool": {
              "description": "Pool where jobs in this pipeline will run unless otherwise specified",
              "$ref": "#/definitions/pool"
            },
            "name": {
              "description": "Pipeline name",
              "$ref": "#/definitions/string_allowExpressions"
            },
            "appendCommitMessageToRunName": {
              "description": "Append the commit message to the build number",
              "$ref": "#/definitions/boolean"
            },
            "trigger": {
              "description": "Continuous integration triggers",
              "$ref": "#/definitions/trigger"
            },
            "parameters": {
              "description": "Pipeline template parameters",
              "$ref": "#/definitions/pipelineTemplateParameters"
            },
            "pr": {
              "description": "Pull request triggers",
              "$ref": "#/definitions/pr"
            },
            "schedules": {
              "$ref": "#/definitions/schedules"
            },
            "resources": {
              "description": "Containers and repositories used in the build",
              "$ref": "#/definitions/resources"
            },
            "variables": {
              "description": "Variables for this pipeline",
              "$ref": "#/definitions/variables"
            },
            "lockBehavior": {
              "description": "Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests",
              "$ref": "#/definitions/lockBehavior"
            }
          },
          "additionalProperties": false,
          "required": [
            "jobs"
          ]
        },
        {
          "type": "object",
          "properties": {
            "phases": {
              "description": "Phases which make up the pipeline",
              "deprecationMessage": "This option is deprecated, use `jobs` instead",
              "doNotSuggest": true,
              "$ref": "#/definitions/phases"
            },
            "name": {
              "description": "Pipeline name",
              "$ref": "#/definitions/string_allowExpressions"
            },
            "appendCommitMessageToRunName": {
              "description": "Append the commit message to the build number",
              "$ref": "#/definitions/boolean"
            },
            "trigger": {
              "description": "Continuous integration triggers",
              "$ref": "#/definitions/trigger"
            },
            "parameters": {
              "description": "Pipeline template parameters",
              "$ref": "#/definitions/pipelineTemplateParameters"
            },
            "pr": {
              "description": "Pull request triggers",
              "$ref": "#/definitions/pr"
            },
            "schedules": {
              "$ref": "#/definitions/schedules"
            },
            "resources": {
              "description": "Containers and repositories used in the build",
              "$ref": "#/definitions/resources"
            },
            "variables": {
              "description": "Variables for this pipeline",
              "$ref": "#/definitions/variables"
            },
            "lockBehavior": {
              "description": "Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests",
              "$ref": "#/definitions/lockBehavior"
            }
          },
          "additionalProperties": false,
          "required": [
            "phases"
          ]
        },
        {
          "type": "object",
          "properties": {
            "strategy": {
              "description": "Execution strategy for this job",
              "$ref": "#/definitions/jobStrategy"
            },
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/jobContinueOnError"
            },
            "pool": {
              "description": "Pool where this job will run",
              "$ref": "#/definitions/pool"
            },
            "container": {
              "description": "Container resource name",
              "$ref": "#/definitions/jobContainer"
            },
            "services": {
              "$ref": "#/definitions/jobServices"
            },
            "workspace": {
              "$ref": "#/definitions/jobWorkspace"
            },
            "steps": {
              "description": "A list of steps to run in this job",
              "$ref": "#/definitions/steps"
            },
            "name": {
              "description": "Pipeline name",
              "$ref": "#/definitions/string_allowExpressions"
            },
            "appendCommitMessageToRunName": {
              "description": "Append the commit message to the build number",
              "$ref": "#/definitions/boolean"
            },
            "trigger": {
              "description": "Continuous integration triggers",
              "$ref": "#/definitions/trigger"
            },
            "parameters": {
              "description": "Pipeline template parameters",
              "$ref": "#/definitions/pipelineTemplateParameters"
            },
            "pr": {
              "description": "Pull request triggers",
              "$ref": "#/definitions/pr"
            },
            "schedules": {
              "$ref": "#/definitions/schedules"
            },
            "resources": {
              "description": "Containers and repositories used in the build",
              "$ref": "#/definitions/resources"
            },
            "variables": {
              "description": "Variables for this pipeline",
              "$ref": "#/definitions/variables"
            },
            "lockBehavior": {
              "description": "Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests",
              "$ref": "#/definitions/lockBehavior"
            }
          },
          "additionalProperties": false,
          "required": [
            "steps"
          ]
        },
        {
          "type": "object",
          "properties": {
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/jobContinueOnError"
            },
            "queue": {
              "description": "Queue where this phase will run",
              "deprecationMessage": "This option is deprecated, use pool instead",
              "doNotSuggest": true,
              "$ref": "#/definitions/phaseQueueTarget"
            },
            "steps": {
              "description": "A list of steps to run in this phase",
              "$ref": "#/definitions/steps"
            },
            "name": {
              "description": "Pipeline name",
              "$ref": "#/definitions/string_allowExpressions"
            },
            "appendCommitMessageToRunName": {
              "description": "Append the commit message to the build number",
              "$ref": "#/definitions/boolean"
            },
            "trigger": {
              "description": "Continuous integration triggers",
              "$ref": "#/definitions/trigger"
            },
            "parameters": {
              "description": "Pipeline template parameters",
              "$ref": "#/definitions/pipelineTemplateParameters"
            },
            "pr": {
              "description": "Pull request triggers",
              "$ref": "#/definitions/pr"
            },
            "schedules": {
              "$ref": "#/definitions/schedules"
            },
            "resources": {
              "description": "Containers and repositories used in the build",
              "$ref": "#/definitions/resources"
            },
            "variables": {
              "description": "Variables for this pipeline",
              "$ref": "#/definitions/variables"
            },
            "lockBehavior": {
              "description": "Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests",
              "$ref": "#/definitions/lockBehavior"
            }
          },
          "additionalProperties": false,
          "deprecationMessage": "This option is deprecated, use `job` (inside `jobs`) instead",
          "required": [
            "steps"
          ]
        },
        {
          "type": "object",
          "properties": {
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/jobContinueOnError"
            },
            "server": {
              "description": "True if this is an agent-less phase (runs on server)",
              "deprecationMessage": "This option is deprecated, use pool:server instead",
              "doNotSuggest": true,
              "$ref": "#/definitions/phaseServerTarget"
            },
            "steps": {
              "description": "A list of steps to run in this phase",
              "$ref": "#/definitions/steps"
            },
            "name": {
              "description": "Pipeline name",
              "$ref": "#/definitions/string_allowExpressions"
            },
            "appendCommitMessageToRunName": {
              "description": "Append the commit message to the build number",
              "$ref": "#/definitions/boolean"
            },
            "trigger": {
              "description": "Continuous integration triggers",
              "$ref": "#/definitions/trigger"
            },
            "parameters": {
              "description": "Pipeline template parameters",
              "$ref": "#/definitions/pipelineTemplateParameters"
            },
            "pr": {
              "description": "Pull request triggers",
              "$ref": "#/definitions/pr"
            },
            "schedules": {
              "$ref": "#/definitions/schedules"
            },
            "resources": {
              "description": "Containers and repositories used in the build",
              "$ref": "#/definitions/resources"
            },
            "variables": {
              "description": "Variables for this pipeline",
              "$ref": "#/definitions/variables"
            },
            "lockBehavior": {
              "description": "Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests",
              "$ref": "#/definitions/lockBehavior"
            }
          },
          "additionalProperties": false,
          "deprecationMessage": "This option is deprecated, use `job` (inside `jobs`) instead",
          "required": [
            "steps"
          ]
        }
      ]
    },
    "pipelineBase": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Pipeline name",
          "$ref": "#/definitions/string_allowExpressions"
        },
        "appendCommitMessageToRunName": {
          "description": "Append the commit message to the build number",
          "$ref": "#/definitions/boolean"
        },
        "trigger": {
          "description": "Continuous integration triggers",
          "$ref": "#/definitions/trigger"
        },
        "parameters": {
          "description": "Pipeline template parameters",
          "$ref": "#/definitions/pipelineTemplateParameters"
        },
        "pr": {
          "description": "Pull request triggers",
          "$ref": "#/definitions/pr"
        },
        "schedules": {
          "$ref": "#/definitions/schedules"
        },
        "resources": {
          "description": "Containers and repositories used in the build",
          "$ref": "#/definitions/resources"
        },
        "variables": {
          "description": "Variables for this pipeline",
          "$ref": "#/definitions/variables"
        },
        "lockBehavior": {
          "description": "Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests",
          "$ref": "#/definitions/lockBehavior"
        }
      },
      "additionalProperties": false
    },
    "pipelineTrigger": {
      "type": "object",
      "properties": {
        "trigger": {
          "description": "Continuous integration triggers",
          "$ref": "#/definitions/trigger"
        },
        "name": {
          "description": "Pipeline name",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "appendCommitMessageToRunName": {
          "description": "Append the commit message to the build number",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "parameters": {
          "description": "Pipeline template parameters",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "pr": {
          "description": "Pull request triggers",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "schedules": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "resources": {
          "description": "Containers and repositories used in the build",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "variables": {
          "description": "Variables for the entire pipeline",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "stages": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "jobs": {
          "description": "Jobs which make up the pipeline",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "extends": {
          "description": "Extends a template",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "phases": {
          "description": "Phases which make up the pipeline",
          "deprecationMessage": "This option is deprecated, use `jobs` instead",
          "doNotSuggest": true,
          "$ref": "#/definitions/any_allowExpressions"
        },
        "strategy": {
          "description": "Execution strategy for the job",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "continueOnError": {
          "description": "Continue running even on failure?",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "pool": {
          "description": "Pool where this job will run",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "container": {
          "description": "Container resource name",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "services": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "workspace": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "steps": {
          "description": "A list of steps to run",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "queue": {
          "description": "Queue where this phase will run",
          "deprecationMessage": "This option is deprecated, use pool instead",
          "doNotSuggest": true,
          "$ref": "#/definitions/any_allowExpressions"
        },
        "server": {
          "description": "True if this is an agent-less phase (runs on server)",
          "deprecationMessage": "This option is deprecated, use pool:server instead",
          "doNotSuggest": true,
          "$ref": "#/definitions/any_allowExpressions"
        },
        "lockBehavior": {
          "description": "Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests",
          "$ref": "#/definitions/lockBehavior"
        }
      },
      "additionalProperties": false
    },
    "pipelineParameters": {
      "type": "object",
      "properties": {
        "parameters": {
          "description": "Pipeline template parameters",
          "$ref": "#/definitions/pipelineTemplateParameters"
        },
        "name": {
          "description": "Pipeline name",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "appendCommitMessageToRunName": {
          "description": "Append the commit message to the build number",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "trigger": {
          "description": "Continuous integration triggers",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "pr": {
          "description": "Pull request triggers",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "schedules": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "resources": {
          "description": "Containers and repositories used in the build",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "variables": {
          "description": "Variables for the entire pipeline",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "stages": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "jobs": {
          "description": "Jobs which make up the pipeline",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "extends": {
          "description": "Extends a template",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "phases": {
          "description": "Phases which make up the pipeline",
          "deprecationMessage": "This option is deprecated, use `jobs` instead",
          "doNotSuggest": true,
          "$ref": "#/definitions/any_allowExpressions"
        },
        "strategy": {
          "description": "Execution strategy for the job",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "continueOnError": {
          "description": "Continue running even on failure?",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "pool": {
          "description": "Pool where this job will run",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "container": {
          "description": "Container resource name",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "services": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "workspace": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "steps": {
          "description": "A list of steps to run",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "queue": {
          "description": "Queue where this phase will run",
          "deprecationMessage": "This option is deprecated, use pool instead",
          "doNotSuggest": true,
          "$ref": "#/definitions/any_allowExpressions"
        },
        "server": {
          "description": "True if this is an agent-less phase (runs on server)",
          "deprecationMessage": "This option is deprecated, use pool:server instead",
          "doNotSuggest": true,
          "$ref": "#/definitions/any_allowExpressions"
        },
        "lockBehavior": {
          "description": "Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests",
          "$ref": "#/definitions/lockBehavior"
        }
      },
      "additionalProperties": false
    },
    "pipelinePR": {
      "type": "object",
      "properties": {
        "pr": {
          "description": "Pull request triggers",
          "$ref": "#/definitions/pr"
        },
        "name": {
          "description": "Pipeline name",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "appendCommitMessageToRunName": {
          "description": "Append the commit message to the build number",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "trigger": {
          "description": "Continuous integration triggers",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "parameters": {
          "description": "Pipeline template parameters",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "schedules": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "resources": {
          "description": "Containers and repositories used in the build",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "variables": {
          "description": "Variables for the entire pipeline",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "stages": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "jobs": {
          "description": "Jobs which make up the pipeline",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "extends": {
          "description": "Extends a template",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "phases": {
          "description": "Phases which make up the pipeline",
          "deprecationMessage": "This option is deprecated, use `jobs` instead",
          "doNotSuggest": true,
          "$ref": "#/definitions/any_allowExpressions"
        },
        "strategy": {
          "description": "Execution strategy for the job",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "continueOnError": {
          "description": "Continue running even on failure?",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "pool": {
          "description": "Pool where this job will run",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "container": {
          "description": "Container resource name",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "services": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "workspace": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "steps": {
          "description": "A list of steps to run",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "queue": {
          "description": "Queue where this phase will run",
          "deprecationMessage": "This option is deprecated, use pool instead",
          "doNotSuggest": true,
          "$ref": "#/definitions/any_allowExpressions"
        },
        "server": {
          "description": "True if this is an agent-less phase (runs on server)",
          "deprecationMessage": "This option is deprecated, use pool:server instead",
          "doNotSuggest": true,
          "$ref": "#/definitions/any_allowExpressions"
        },
        "lockBehavior": {
          "description": "Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests",
          "$ref": "#/definitions/lockBehavior"
        }
      },
      "additionalProperties": false
    },
    "pipelineSchedules": {
      "type": "object",
      "properties": {
        "schedules": {
          "$ref": "#/definitions/schedules"
        },
        "name": {
          "description": "Pipeline name",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "appendCommitMessageToRunName": {
          "description": "Append the commit message to the build number",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "trigger": {
          "description": "Continuous integration triggers",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "parameters": {
          "description": "Pipeline template parameters",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "pr": {
          "description": "Pull request triggers",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "resources": {
          "description": "Containers and repositories used in the build",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "variables": {
          "description": "Variables for the entire pipeline",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "stages": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "jobs": {
          "description": "Jobs which make up the pipeline",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "extends": {
          "description": "Extends a template",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "phases": {
          "description": "Phases which make up the pipeline",
          "deprecationMessage": "This option is deprecated, use `jobs` instead",
          "doNotSuggest": true,
          "$ref": "#/definitions/any_allowExpressions"
        },
        "strategy": {
          "description": "Execution strategy for the job",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "continueOnError": {
          "description": "Continue running even on failure?",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "pool": {
          "description": "Pool where this job will run",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "container": {
          "description": "Container resource name",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "services": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "workspace": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "steps": {
          "description": "A list of steps to run",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "queue": {
          "description": "Queue where this phase will run",
          "deprecationMessage": "This option is deprecated, use pool instead",
          "doNotSuggest": true,
          "$ref": "#/definitions/any_allowExpressions"
        },
        "server": {
          "description": "True if this is an agent-less phase (runs on server)",
          "deprecationMessage": "This option is deprecated, use pool:server instead",
          "doNotSuggest": true,
          "$ref": "#/definitions/any_allowExpressions"
        },
        "lockBehavior": {
          "description": "Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests",
          "$ref": "#/definitions/lockBehavior"
        }
      },
      "additionalProperties": false
    },
    "pipelineAnyBase": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Pipeline name",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "appendCommitMessageToRunName": {
          "description": "Append the commit message to the build number",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "trigger": {
          "description": "Continuous integration triggers",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "parameters": {
          "description": "Pipeline template parameters",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "pr": {
          "description": "Pull request triggers",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "schedules": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "resources": {
          "description": "Containers and repositories used in the build",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "variables": {
          "description": "Variables for the entire pipeline",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "stages": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "jobs": {
          "description": "Jobs which make up the pipeline",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "extends": {
          "description": "Extends a template",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "phases": {
          "description": "Phases which make up the pipeline",
          "deprecationMessage": "This option is deprecated, use `jobs` instead",
          "doNotSuggest": true,
          "$ref": "#/definitions/any_allowExpressions"
        },
        "strategy": {
          "description": "Execution strategy for the job",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "continueOnError": {
          "description": "Continue running even on failure?",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "pool": {
          "description": "Pool where this job will run",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "container": {
          "description": "Container resource name",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "services": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "workspace": {
          "$ref": "#/definitions/any_allowExpressions"
        },
        "steps": {
          "description": "A list of steps to run",
          "$ref": "#/definitions/any_allowExpressions"
        },
        "queue": {
          "description": "Queue where this phase will run",
          "deprecationMessage": "This option is deprecated, use pool instead",
          "doNotSuggest": true,
          "$ref": "#/definitions/any_allowExpressions"
        },
        "server": {
          "description": "True if this is an agent-less phase (runs on server)",
          "deprecationMessage": "This option is deprecated, use pool:server instead",
          "doNotSuggest": true,
          "$ref": "#/definitions/any_allowExpressions"
        },
        "lockBehavior": {
          "description": "Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests",
          "$ref": "#/definitions/lockBehavior"
        }
      },
      "additionalProperties": false
    },
    "pr": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^none$"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/branchFilter"
          }
        },
        {
          "type": "object",
          "properties": {
            "autoCancel": {
              "description": "Whether to cancel running PR builds when a new commit lands in the branch",
              "$ref": "#/definitions/boolean"
            },
            "branches": {
              "$ref": "#/definitions/includeExcludeFilters"
            },
            "paths": {
              "$ref": "#/definitions/includeExcludeFilters"
            },
            "drafts": {
              "description": "Whether to start a run when a draft PR is created",
              "$ref": "#/definitions/boolean"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "trigger": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^none$"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/branchFilter"
          }
        },
        {
          "type": "object",
          "properties": {
            "batch": {
              "description": "Whether to batch changes per branch",
              "$ref": "#/definitions/boolean"
            },
            "branches": {
              "$ref": "#/definitions/includeExcludeFilters"
            },
            "paths": {
              "$ref": "#/definitions/includeExcludeFilters"
            },
            "tags": {
              "$ref": "#/definitions/includeExcludeFilters"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "includeExcludeFilters": {
      "type": "object",
      "properties": {
        "include": {
          "$ref": "#/definitions/branchFilterArray"
        },
        "exclude": {
          "$ref": "#/definitions/branchFilterArray"
        }
      },
      "additionalProperties": false
    },
    "includeExcludeStringFilters": {
      "anyOf": [
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/nonEmptyString"
          }
        },
        {
          "type": "object",
          "properties": {
            "include": {
              "$ref": "#/definitions/sequenceOfNonEmptyString"
            },
            "exclude": {
              "$ref": "#/definitions/sequenceOfNonEmptyString"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "branchFilterArray": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/branchFilter"
      }
    },
    "branchFilter": {
      "type": "string",
      "description": "branch name or prefix filter",
      "pattern": "^[^\\/~\\^\\: \\[\\]\\\\]+(\\/[^\\/~\\^\\: \\[\\]\\\\]+)*$"
    },
    "templateParameters": {
      "anyOf": [
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/templateParameter"
          }
        },
        {
          "type": "object",
          "additionalProperties": true
        }
      ]
    },
    "templateParameter": {
      "type": "object",
      "properties": {
        "name": {
          "$ref": "#/definitions/nonEmptyString"
        },
        "displayName": {
          "description": "Human-readable name for the parameter",
          "$ref": "#/definitions/string"
        },
        "type": {
          "$ref": "#/definitions/templateParameterType"
        },
        "default": {
          "$ref": "#/definitions/any"
        },
        "values": {
          "$ref": "#/definitions/sequenceOfNonEmptyString"
        }
      },
      "additionalProperties": false,
      "firstProperty": [
        "name"
      ]
    },
    "templateParameterType": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^boolean$"
        },
        {
          "type": "string",
          "pattern": "^container$"
        },
        {
          "type": "string",
          "pattern": "^containerList$"
        },
        {
          "type": "string",
          "pattern": "^deployment$"
        },
        {
          "type": "string",
          "pattern": "^deploymentList$"
        },
        {
          "type": "string",
          "pattern": "^job$"
        },
        {
          "type": "string",
          "pattern": "^jobList$"
        },
        {
          "type": "string",
          "pattern": "^legacyObject$"
        },
        {
          "type": "string",
          "pattern": "^number$"
        },
        {
          "type": "string",
          "pattern": "^object$"
        },
        {
          "type": "string",
          "pattern": "^stage$"
        },
        {
          "type": "string",
          "pattern": "^stageList$"
        },
        {
          "type": "string",
          "pattern": "^step$"
        },
        {
          "type": "string",
          "pattern": "^stepList$"
        },
        {
          "type": "string",
          "pattern": "^string$"
        }
      ]
    },
    "pipelineTemplateParameters": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/pipelineTemplateParameter"
      }
    },
    "pipelineTemplateParameter": {
      "type": "object",
      "properties": {
        "name": {
          "$ref": "#/definitions/nonEmptyString"
        },
        "displayName": {
          "description": "Human-readable name for the parameter",
          "$ref": "#/definitions/string"
        },
        "type": {
          "$ref": "#/definitions/pipelineTemplateParameterType"
        },
        "default": {
          "$ref": "#/definitions/any"
        },
        "values": {
          "$ref": "#/definitions/sequenceOfNonEmptyString"
        }
      },
      "additionalProperties": false,
      "firstProperty": [
        "name"
      ]
    },
    "pipelineTemplateParameterType": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^boolean$"
        },
        {
          "type": "string",
          "pattern": "^container$"
        },
        {
          "type": "string",
          "pattern": "^containerList$"
        },
        {
          "type": "string",
          "pattern": "^deployment$"
        },
        {
          "type": "string",
          "pattern": "^deploymentList$"
        },
        {
          "type": "string",
          "pattern": "^environment$"
        },
        {
          "type": "string",
          "pattern": "^filePath$"
        },
        {
          "type": "string",
          "pattern": "^job$"
        },
        {
          "type": "string",
          "pattern": "^jobList$"
        },
        {
          "type": "string",
          "pattern": "^number$"
        },
        {
          "type": "string",
          "pattern": "^object$"
        },
        {
          "type": "string",
          "pattern": "^pool$"
        },
        {
          "type": "string",
          "pattern": "^secureFile$"
        },
        {
          "type": "string",
          "pattern": "^serviceConnection$"
        },
        {
          "type": "string",
          "pattern": "^stage$"
        },
        {
          "type": "string",
          "pattern": "^stageList$"
        },
        {
          "type": "string",
          "pattern": "^step$"
        },
        {
          "type": "string",
          "pattern": "^stepList$"
        },
        {
          "type": "string",
          "pattern": "^string$"
        }
      ]
    },
    "schedules": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/schedule"
      }
    },
    "schedule": {
      "type": "object",
      "properties": {
        "cron": {
          "$ref": "#/definitions/nonEmptyString"
        },
        "displayName": {
          "$ref": "#/definitions/string"
        },
        "branches": {
          "$ref": "#/definitions/includeExcludeFilters"
        },
        "batch": {
          "$ref": "#/definitions/boolean"
        },
        "always": {
          "$ref": "#/definitions/boolean"
        }
      },
      "additionalProperties": false,
      "firstProperty": [
        "cron"
      ]
    },
    "resources": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "builds": {
              "description": "List of external build resources",
              "$ref": "#/definitions/buildResources"
            },
            "containers": {
              "description": "List of container images",
              "$ref": "#/definitions/containerResources"
            },
            "pipelines": {
              "$ref": "#/definitions/pipelineResources"
            },
            "repositories": {
              "description": "List of external repositories",
              "$ref": "#/definitions/repositoryResources"
            },
            "webhooks": {
              "description": "List of webhooks",
              "$ref": "#/definitions/webhookResources"
            },
            "packages": {
              "description": "List of external packages",
              "$ref": "#/definitions/packageResources"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/legacyResource"
          }
        }
      ]
    },
    "buildResources": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/buildResource"
      }
    },
    "buildResource": {
      "type": "object",
      "properties": {
        "build": {
          "description": "Alias or name of build artifact",
          "$ref": "#/definitions/referenceName"
        },
        "type": {
          "description": "Name of the artifact type",
          "$ref": "#/definitions/nonEmptyString"
        },
        "connection": {
          "description": "Name of the connection. This connection will be used for all the communication related to this artifact.",
          "$ref": "#/definitions/nonEmptyString"
        },
        "source": {
          "description": "Name of the source definition/build/job",
          "$ref": "#/definitions/nonEmptyString"
        },
        "version": {
          "$ref": "#/definitions/string_allowExpressions"
        },
        "branch": {
          "$ref": "#/definitions/string_allowExpressions"
        },
        "trigger": {
          "description": "When the artifact mentioned in this build resource completes a build, its allowed to trigger this pipeline.",
          "$ref": "#/definitions/buildResourceTrigger"
        }
      },
      "additionalProperties": false,
      "firstProperty": [
        "build"
      ],
      "required": [
        "build",
        "type",
        "connection",
        "source"
      ]
    },
    "buildResourceTrigger": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^none$"
        },
        {
          "type": "string",
          "pattern": "^true$"
        }
      ]
    },
    "packageResources": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/packageResource"
      }
    },
    "packageResource": {
      "type": "object",
      "properties": {
        "package": {
          "description": "Alias of package artifact",
          "$ref": "#/definitions/referenceName"
        },
        "type": {
          "description": "Type of the package. Ex - NuGet, NPM etc.",
          "$ref": "#/definitions/nonEmptyString"
        },
        "connection": {
          "description": "Name of the connection. This connection will be used for all the communication related to this artifact.",
          "$ref": "#/definitions/nonEmptyString"
        },
        "name": {
          "description": "Name of the package",
          "$ref": "#/definitions/nonEmptyString"
        },
        "version": {
          "$ref": "#/definitions/string_allowExpressions"
        },
        "tag": {
          "$ref": "#/definitions/string_allowExpressions"
        },
        "trigger": {
          "description": "Trigger a new pipeline run when a new version of this package is available.",
          "$ref": "#/definitions/packageResourceTrigger"
        }
      },
      "additionalProperties": false,
      "firstProperty": [
        "package"
      ],
      "required": [
        "package",
        "type",
        "connection",
        "name"
      ]
    },
    "packageResourceTrigger": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^none$"
        },
        {
          "type": "string",
          "pattern": "^true$"
        }
      ]
    },
    "containerResources": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/containerResource"
      }
    },
    "containerResource": {
      "type": "object",
      "properties": {
        "container": {
          "description": "ID for the container",
          "$ref": "#/definitions/referenceName"
        },
        "type": {
          "$ref": "#/definitions/containerArtifactType"
        },
        "trigger": {
          "$ref": "#/definitions/containerResourceTrigger"
        },
        "endpoint": {
          "description": "ID of the service endpoint connecting to a private container registry",
          "$ref": "#/definitions/string_allowExpressions"
        },
        "env": {
          "description": "Variables to map into the container's environment",
          "$ref": "#/definitions/mappingOfStringString"
        },
        "image": {
          "description": "Container image tag",
          "$ref": "#/definitions/string",
          "examples": [
            "ubuntu:16.04",
            "windows:1803"
          ]
        },
        "mapDockerSocket": {
          "description": "Set this flag to false to force the agent not to setup the /var/run/docker.sock volume on container jobs",
          "$ref": "#/definitions/boolean"
        },
        "options": {
          "description": "Options to pass into container host",
          "$ref": "#/definitions/string_allowExpressions"
        },
        "ports": {
          "$ref": "#/definitions/sequenceOfString_allowExpressions"
        },
        "volumes": {
          "$ref": "#/definitions/sequenceOfString_allowExpressions"
        },
        "mountReadOnly": {
          "$ref": "#/definitions/readOnlyMounts"
        }
      },
      "additionalProperties": true,
      "firstProperty": [
        "container"
      ],
      "required": [
        "container",
        "image"
      ]
    },
    "containerArtifactType": {
      "anyOf": [
        {
          "type": "string",
          "ignoreCase": "value",
          "pattern": "^ACR$"
        },
        {
          "type": "string"
        }
      ]
    },
    "containerResourceTrigger": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^none$"
        },
        {
          "type": "string",
          "pattern": "^true$"
        },
        {
          "type": "object",
          "properties": {
            "enabled": {
              "$ref": "#/definitions/boolean"
            },
            "tags": {
              "$ref": "#/definitions/includeExcludeStringFilters"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "pipelineResources": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/pipelineResource"
      }
    },
    "pipelineResource": {
      "type": "object",
      "properties": {
        "pipeline": {
          "description": "ID of the pipeline resource",
          "$ref": "#/definitions/referenceName"
        },
        "project": {
          "$ref": "#/definitions/nonEmptyString"
        },
        "source": {
          "$ref": "#/definitions/nonEmptyString"
        },
        "version": {
          "$ref": "#/definitions/string_allowExpressions"
        },
        "branch": {
          "$ref": "#/definitions/string_allowExpressions"
        },
        "tags": {
          "$ref": "#/definitions/sequenceOfNonEmptyString"
        },
        "trigger": {
          "$ref": "#/definitions/pipelineResourceTrigger"
        }
      },
      "additionalProperties": false,
      "firstProperty": [
        "pipeline"
      ],
      "required": [
        "pipeline"
      ]
    },
    "pipelineResourceTrigger": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^none$"
        },
        {
          "type": "string",
          "pattern": "^true$"
        },
        {
          "type": "object",
          "properties": {
            "enabled": {
              "$ref": "#/definitions/boolean"
            },
            "branches": {
              "$ref": "#/definitions/triggerBranchFilter"
            },
            "stages": {
              "$ref": "#/definitions/sequenceOfNonEmptyString"
            },
            "tags": {
              "$ref": "#/definitions/sequenceOfNonEmptyString"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "triggerBranchFilter": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "include": {
              "$ref": "#/definitions/branchFilterArray"
            },
            "exclude": {
              "$ref": "#/definitions/branchFilterArray"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/branchFilter"
          }
        }
      ]
    },
    "repositoryResources": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/repositoryResource"
      }
    },
    "repositoryResource": {
      "type": "object",
      "properties": {
        "repository": {
          "description": "ID of the external repository",
          "$ref": "#/definitions/referenceName"
        },
        "endpoint": {
          "description": "ID of the service endpoint connecting to this repository",
          "$ref": "#/definitions/nonEmptyString"
        },
        "trigger": {
          "$ref": "#/definitions/trigger"
        },
        "checkoutOptions": {
          "deprecationMessage": "This location is deprecated, `checkoutOptions` should be a peer of the `repository` keyword.",
          "doNotSuggest": true,
          "$ref": "#/definitions/repositoryCheckoutOptions"
        },
        "ref": {
          "$ref": "#/definitions/string_allowExpressions"
        }
      },
      "additionalProperties": true,
      "firstProperty": [
        "repository"
      ],
      "required": [
        "repository"
      ]
    },
    "repositoryCheckoutOptions": {
      "type": "object",
      "properties": {
        "clean": {
          "description": "Scorch the repo before fetching?",
          "enum": [
            "true",
            "false"
          ],
          "$ref": "#/definitions/string"
        },
        "fetchDepth": {
          "description": "Depth of Git graph to fetch",
          "$ref": "#/definitions/string"
        },
        "fetchTags": {
          "description": "Fetch tags?",
          "$ref": "#/definitions/string"
        },
        "lfs": {
          "description": "Fetch and checkout Git LFS objects?",
          "$ref": "#/definitions/string"
        },
        "submodules": {
          "description": "Fetch and checkout submodules?",
          "$ref": "#/definitions/string"
        },
        "persistCredentials": {
          "description": "Keep credentials available for later use?",
          "$ref": "#/definitions/string"
        }
      },
      "additionalProperties": false
    },
    "legacyResource": {
      "type": "object",
      "properties": {
        "repo": {
          "$ref": "#/definitions/legacyRepoResourceAlias"
        },
        "clean": {
          "description": "Scorch the repo before fetching?",
          "enum": [
            "true",
            "false"
          ],
          "$ref": "#/definitions/string"
        },
        "fetchDepth": {
          "description": "Depth of Git graph to fetch",
          "$ref": "#/definitions/string"
        },
        "lfs": {
          "description": "Fetch and checkout Git LFS objects?",
          "$ref": "#/definitions/string"
        }
      },
      "additionalProperties": false,
      "firstProperty": [
        "repo"
      ]
    },
    "legacyRepoResourceAlias": {
      "type": "string",
      "pattern": "^self$"
    },
    "webhookResources": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/webhookResource"
      }
    },
    "webhookResource": {
      "type": "object",
      "properties": {
        "webhook": {
          "description": "Name of the webhook",
          "$ref": "#/definitions/referenceName"
        },
        "connection": {
          "description": "Name of the connection. In case of offline webhook this will be the type of Incoming Webhook otherwise it will be the type of the webhook extension.",
          "$ref": "#/definitions/nonEmptyString"
        },
        "type": {
          "description": "Name of the webhook extension. leave this empty if its offline webhook.",
          "$ref": "#/definitions/nonEmptyString"
        },
        "filters": {
          "description": "List of trigger filters.",
          "$ref": "#/definitions/webhookFilters"
        }
      },
      "additionalProperties": false,
      "firstProperty": [
        "webhook"
      ],
      "required": [
        "webhook",
        "connection"
      ]
    },
    "webhookFilters": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/webhookFilter"
      }
    },
    "webhookFilter": {
      "type": "object",
      "properties": {
        "path": {
          "description": "json path to select data from event payload",
          "$ref": "#/definitions/nonEmptyString"
        },
        "value": {
          "description": "Expected value for the filter to match",
          "$ref": "#/definitions/nonEmptyString"
        }
      },
      "additionalProperties": false,
      "firstProperty": [
        "path"
      ],
      "required": [
        "path",
        "value"
      ]
    },
    "variablesTemplate": {
      "type": "object",
      "properties": {
        "parameters": {
          "$ref": "#/definitions/templateParameters"
        },
        "variables": {
          "$ref": "#/definitions/variables"
        }
      },
      "additionalProperties": false
    },
    "variables": {
      "anyOf": [
        {
          "type": "object",
          "additionalProperties": true
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/variable"
          }
        }
      ]
    },
    "variable": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "name": {
              "$ref": "#/definitions/nonEmptyString"
            },
            "value": {
              "$ref": "#/definitions/string"
            },
            "readonly": {
              "$ref": "#/definitions/boolean"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "name"
          ]
        },
        {
          "type": "object",
          "properties": {
            "group": {
              "$ref": "#/definitions/nonEmptyString"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "group"
          ]
        },
        {
          "type": "object",
          "properties": {
            "template": {
              "$ref": "#/definitions/nonEmptyString"
            },
            "parameters": {
              "$ref": "#/definitions/mapping"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "template"
          ]
        }
      ]
    },
    "stagesTemplate": {
      "type": "object",
      "properties": {
        "parameters": {
          "$ref": "#/definitions/templateParameters"
        },
        "stages": {
          "$ref": "#/definitions/stages"
        }
      },
      "additionalProperties": false
    },
    "stages": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/stage"
      }
    },
    "stage": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "stage": {
              "description": "ID of the stage",
              "$ref": "#/definitions/string"
            },
            "displayName": {
              "description": "Human-readable name for the stage",
              "$ref": "#/definitions/string"
            },
            "pool": {
              "description": "Pool where jobs in this stage will run unless otherwise specified",
              "$ref": "#/definitions/pool"
            },
            "dependsOn": {
              "description": "Any stages which must complete before this one",
              "$ref": "#/definitions/jobDependsOn"
            },
            "condition": {
              "description": "Evaluate this condition expression to determine whether to run this stage",
              "$ref": "#/definitions/string"
            },
            "variables": {
              "description": "Stage-specific variables",
              "$ref": "#/definitions/variables"
            },
            "jobs": {
              "description": "Jobs which make up the stage",
              "$ref": "#/definitions/jobs"
            },
            "lockBehavior": {
              "description": "Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests",
              "$ref": "#/definitions/lockBehavior"
            },
            "templateContext": {
              "$ref": "#/definitions/templateContext"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "stage"
          ]
        },
        {
          "type": "object",
          "properties": {
            "template": {
              "description": "Reference to a template for this stage",
              "$ref": "#/definitions/nonEmptyString"
            },
            "parameters": {
              "description": "Parameters used in a stage template",
              "$ref": "#/definitions/mapping"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "template"
          ]
        }
      ]
    },
    "lockBehavior": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^sequential$"
        },
        {
          "type": "string",
          "pattern": "^runLatest$"
        }
      ]
    },
    "extendsParameters": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/templateParameter"
      }
    },
    "extendsTemplate": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "stages": {
              "$ref": "#/definitions/stages"
            },
            "trigger": {
              "$ref": "#/definitions/trigger"
            },
            "resources": {
              "$ref": "#/definitions/resources"
            },
            "parameters": {
              "$ref": "#/definitions/extendsParameters"
            },
            "variables": {
              "$ref": "#/definitions/variables"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "jobs": {
              "$ref": "#/definitions/jobs"
            },
            "trigger": {
              "$ref": "#/definitions/trigger"
            },
            "resources": {
              "$ref": "#/definitions/resources"
            },
            "parameters": {
              "$ref": "#/definitions/extendsParameters"
            },
            "variables": {
              "$ref": "#/definitions/variables"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "steps": {
              "$ref": "#/definitions/steps"
            },
            "trigger": {
              "$ref": "#/definitions/trigger"
            },
            "resources": {
              "$ref": "#/definitions/resources"
            },
            "parameters": {
              "$ref": "#/definitions/extendsParameters"
            },
            "variables": {
              "$ref": "#/definitions/variables"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "trigger": {
              "$ref": "#/definitions/trigger"
            },
            "resources": {
              "$ref": "#/definitions/resources"
            },
            "parameters": {
              "$ref": "#/definitions/extendsParameters"
            },
            "extends": {
              "$ref": "#/definitions/extends"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "extendsTemplateBase": {
      "type": "object",
      "properties": {
        "trigger": {
          "$ref": "#/definitions/trigger"
        },
        "resources": {
          "$ref": "#/definitions/resources"
        },
        "parameters": {
          "$ref": "#/definitions/extendsParameters"
        },
        "variables": {
          "$ref": "#/definitions/variables"
        }
      },
      "additionalProperties": false
    },
    "parametersTemplate": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "parameters": {
              "description": "Step-specific parameters",
              "$ref": "#/definitions/templateParameters"
            },
            "steps": {
              "description": "A list of steps to run",
              "$ref": "#/definitions/steps"
            }
          },
          "additionalProperties": false,
          "required": [
            "steps"
          ]
        },
        {
          "type": "object",
          "properties": {
            "parameters": {
              "description": "Parameters used in a job template",
              "$ref": "#/definitions/templateParameters"
            },
            "jobs": {
              "description": "Jobs which make up the pipeline",
              "$ref": "#/definitions/jobs"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "parameters": {
              "$ref": "#/definitions/templateParameters"
            },
            "stages": {
              "$ref": "#/definitions/stages"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "resources": {
              "$ref": "#/definitions/resources"
            },
            "parameters": {
              "$ref": "#/definitions/templateParameters"
            },
            "extends": {
              "description": "Extends a template",
              "$ref": "#/definitions/extends"
            }
          },
          "additionalProperties": false,
          "required": [
            "extends"
          ]
        }
      ]
    },
    "extends": {
      "type": "object",
      "properties": {
        "template": {
          "$ref": "#/definitions/nonEmptyString"
        },
        "parameters": {
          "description": "Parameters used in the extend",
          "$ref": "#/definitions/mapping"
        }
      },
      "additionalProperties": false
    },
    "jobsTemplate": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "parameters": {
              "description": "Parameters used in a job template",
              "$ref": "#/definitions/templateParameters"
            },
            "jobs": {
              "description": "Jobs which make up the pipeline",
              "$ref": "#/definitions/jobs"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "parameters": {
              "description": "Parameters used in a phase template",
              "$ref": "#/definitions/templateParameters"
            },
            "phases": {
              "description": "Phases which make up the pipeline",
              "deprecationMessage": "This option is deprecated, use `jobs` instead",
              "doNotSuggest": true,
              "$ref": "#/definitions/phases"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "jobs": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/job"
      }
    },
    "job": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "job": {
              "description": "ID of the job",
              "$ref": "#/definitions/referenceName"
            },
            "displayName": {
              "description": "Human-readable name for the job",
              "$ref": "#/definitions/string"
            },
            "dependsOn": {
              "description": "Any jobs which must complete before this one",
              "$ref": "#/definitions/jobDependsOn"
            },
            "condition": {
              "description": "Evaluate this condition expression to determine whether to run this job",
              "$ref": "#/definitions/string"
            },
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/jobContinueOnError"
            },
            "timeoutInMinutes": {
              "description": "Time to wait for this job to complete before the server kills it",
              "$ref": "#/definitions/nonEmptyString"
            },
            "cancelTimeoutInMinutes": {
              "description": "Time to wait for the job to cancel before forcibly terminating it",
              "$ref": "#/definitions/nonEmptyString"
            },
            "variables": {
              "description": "Job-specific variables",
              "$ref": "#/definitions/variables"
            },
            "strategy": {
              "description": "Execution strategy for this job",
              "$ref": "#/definitions/jobStrategy"
            },
            "pool": {
              "description": "Pool where this job will run",
              "$ref": "#/definitions/pool"
            },
            "container": {
              "description": "Container resource name",
              "$ref": "#/definitions/jobContainer"
            },
            "services": {
              "$ref": "#/definitions/jobServices"
            },
            "workspace": {
              "$ref": "#/definitions/jobWorkspace"
            },
            "uses": {
              "description": "Any resources required by this job that are not already referenced",
              "$ref": "#/definitions/explicitResources"
            },
            "steps": {
              "description": "A list of steps to run",
              "$ref": "#/definitions/steps"
            },
            "templateContext": {
              "$ref": "#/definitions/templateContext"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "job"
          ]
        },
        {
          "type": "object",
          "properties": {
            "deployment": {
              "$ref": "#/definitions/string"
            },
            "displayName": {
              "description": "Human-readable name for the deployment",
              "$ref": "#/definitions/string"
            },
            "dependsOn": {
              "description": "Any jobs which must complete before this one",
              "$ref": "#/definitions/jobDependsOn"
            },
            "condition": {
              "description": "Evaluate this condition expression to determine whether to run this deployment",
              "$ref": "#/definitions/string"
            },
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/jobContinueOnError"
            },
            "timeoutInMinutes": {
              "description": "Time to wait for this job to complete before the server kills it",
              "$ref": "#/definitions/nonEmptyString"
            },
            "cancelTimeoutInMinutes": {
              "description": "Time to wait for the job to cancel before forcibly terminating it",
              "$ref": "#/definitions/nonEmptyString"
            },
            "variables": {
              "description": "Deployment-specific variables",
              "$ref": "#/definitions/variables"
            },
            "pool": {
              "description": "Pool where this job will run",
              "$ref": "#/definitions/pool"
            },
            "environment": {
              "$ref": "#/definitions/deploymentEnvironment"
            },
            "strategy": {
              "description": "Execution strategy for this deployment",
              "$ref": "#/definitions/deploymentStrategy"
            },
            "workspace": {
              "description": "What to clean up before the job runs",
              "$ref": "#/definitions/jobWorkspace"
            },
            "uses": {
              "description": "Any resources required by this job that are not already referenced",
              "$ref": "#/definitions/explicitResources"
            },
            "container": {
              "description": "Container resource name",
              "$ref": "#/definitions/jobContainer"
            },
            "services": {
              "description": "Container resources to run as a service container",
              "$ref": "#/definitions/jobServices"
            },
            "templateContext": {
              "$ref": "#/definitions/templateContext"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "deployment"
          ]
        },
        {
          "type": "object",
          "properties": {
            "template": {
              "description": "Reference to a template for this deployment",
              "$ref": "#/definitions/nonEmptyString"
            },
            "parameters": {
              "description": "Parameters used in a deployment template",
              "$ref": "#/definitions/mapping"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "template"
          ]
        }
      ]
    },
    "explicitResources": {
      "type": "object",
      "properties": {
        "repositories": {
          "description": "Repository references",
          "$ref": "#/definitions/sequenceOfNonEmptyString"
        },
        "pools": {
          "description": "Pool references",
          "$ref": "#/definitions/sequenceOfNonEmptyString"
        }
      },
      "additionalProperties": false
    },
    "pool": {
      "description": "Pool details",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "object",
          "properties": {
            "name": {
              "description": "Name of a pool",
              "$ref": "#/definitions/nonEmptyString"
            },
            "demands": {
              "description": "List of demands (for a private pool)",
              "$ref": "#/definitions/poolDemands"
            }
          },
          "additionalProperties": true
        }
      ]
    },
    "poolDemands": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/nonEmptyString"
          }
        }
      ]
    },
    "jobContainer": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "object",
          "properties": {
            "alias": {
              "description": "The alias of the container resource",
              "$ref": "#/definitions/string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "endpoint": {
              "description": "ID of the service endpoint connecting to a private container registry",
              "$ref": "#/definitions/string_allowExpressions"
            },
            "env": {
              "description": "Variables to map into the container's environment",
              "$ref": "#/definitions/mappingOfStringString"
            },
            "image": {
              "description": "Container image tag",
              "$ref": "#/definitions/string",
              "examples": [
                "ubuntu:16.04",
                "windows:1803"
              ]
            },
            "mapDockerSocket": {
              "description": "Set this flag to false to force the agent not to setup the /var/run/docker.sock volume on container jobs",
              "$ref": "#/definitions/boolean"
            },
            "options": {
              "description": "Options to pass into container host",
              "$ref": "#/definitions/string_allowExpressions"
            },
            "ports": {
              "$ref": "#/definitions/sequenceOfString_allowExpressions"
            },
            "volumes": {
              "$ref": "#/definitions/sequenceOfString_allowExpressions"
            },
            "mountReadOnly": {
              "$ref": "#/definitions/readOnlyMounts"
            }
          },
          "required": [
            "image"
          ]
        }
      ]
    },
    "containerBase": {
      "type": "object",
      "properties": {
        "endpoint": {
          "description": "ID of the service endpoint connecting to a private container registry",
          "$ref": "#/definitions/string_allowExpressions"
        },
        "env": {
          "description": "Variables to map into the container's environment",
          "$ref": "#/definitions/mappingOfStringString"
        },
        "image": {
          "description": "Container image tag",
          "$ref": "#/definitions/string",
          "examples": [
            "ubuntu:16.04",
            "windows:1803"
          ]
        },
        "mapDockerSocket": {
          "description": "Set this flag to false to force the agent not to setup the /var/run/docker.sock volume on container jobs",
          "$ref": "#/definitions/boolean"
        },
        "options": {
          "description": "Options to pass into container host",
          "$ref": "#/definitions/string_allowExpressions"
        },
        "ports": {
          "$ref": "#/definitions/sequenceOfString_allowExpressions"
        },
        "volumes": {
          "$ref": "#/definitions/sequenceOfString_allowExpressions"
        },
        "mountReadOnly": {
          "$ref": "#/definitions/readOnlyMounts"
        }
      },
      "additionalProperties": false,
      "required": [
        "image"
      ]
    },
    "readOnlyMounts": {
      "type": "object",
      "properties": {
        "work": {
          "description": "Mount the work directory as readonly",
          "$ref": "#/definitions/boolean"
        },
        "externals": {
          "description": "Mount the externals directory as readonly",
          "$ref": "#/definitions/boolean"
        },
        "tools": {
          "description": "Mount the tools directory as readonly",
          "$ref": "#/definitions/boolean"
        },
        "tasks": {
          "description": "Mount the tasks directory as readonly",
          "$ref": "#/definitions/boolean"
        }
      },
      "additionalProperties": false
    },
    "jobServices": {
      "type": "object",
      "additionalProperties": true
    },
    "jobWorkspace": {
      "type": "object",
      "properties": {
        "clean": {
          "description": "Which parts of the workspace should be scorched before fetching",
          "enum": [
            "outputs",
            "resources",
            "all"
          ],
          "$ref": "#/definitions/string"
        }
      },
      "additionalProperties": false
    },
    "jobStrategy": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "matrix": {
              "$ref": "#/definitions/jobMatrix"
            },
            "maxParallel": {
              "description": "Maximum number of jobs running in parallel",
              "$ref": "#/definitions/nonEmptyString"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "parallel": {
              "description": "Run the job this many times",
              "$ref": "#/definitions/nonEmptyString"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "jobMatrix": {
      "anyOf": [
        {
          "type": "object",
          "additionalProperties": true,
          "minProperties": 1,
          "patternProperties": {
            "^[A-Za-z0-9_]+$": {
              "$ref": "#/definitions/matrixProperties"
            }
          }
        },
        {
          "type": "string"
        }
      ]
    },
    "matrixProperties": {
      "type": "object",
      "description": "Variable-value pair to pass in this matrix instance",
      "additionalProperties": true
    },
    "deploymentEnvironment": {
      "description": "Environment details",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "object",
          "properties": {
            "name": {
              "description": "Name of environment",
              "$ref": "#/definitions/nonEmptyString"
            },
            "resourceName": {
              "description": "Name of resource",
              "$ref": "#/definitions/nonEmptyString"
            },
            "resourceId": {
              "description": "Id of resource",
              "$ref": "#/definitions/nonEmptyString"
            },
            "resourceType": {
              "description": "Type of environment resource",
              "$ref": "#/definitions/nonEmptyString"
            },
            "tags": {
              "description": "List of tag filters",
              "$ref": "#/definitions/nonEmptyString"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "deploymentStrategy": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "runOnce": {
              "description": "RunOnce Deployment strategy",
              "$ref": "#/definitions/runOnceDeploymentStrategy"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "rolling": {
              "description": "Rolling Deployment strategy",
              "$ref": "#/definitions/rollingDeploymentStrategy"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "canary": {
              "description": "Canary Deployment strategy",
              "$ref": "#/definitions/canaryDeploymentStrategy"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "preDeployHook": {
      "type": "object",
      "properties": {
        "steps": {
          "description": "A list of steps to run",
          "$ref": "#/definitions/steps"
        },
        "pool": {
          "description": "Pool where pre deploy steps will run",
          "$ref": "#/definitions/pool"
        }
      },
      "additionalProperties": false
    },
    "deployHook": {
      "type": "object",
      "properties": {
        "steps": {
          "description": "A list of steps to run",
          "$ref": "#/definitions/steps"
        },
        "pool": {
          "description": "Pool where deploy steps will run",
          "$ref": "#/definitions/pool"
        }
      },
      "additionalProperties": false
    },
    "routeTrafficHook": {
      "type": "object",
      "properties": {
        "steps": {
          "description": "A list of steps to run",
          "$ref": "#/definitions/steps"
        },
        "pool": {
          "description": "Pool where route traffic steps will run",
          "$ref": "#/definitions/pool"
        }
      },
      "additionalProperties": false
    },
    "postRouteTrafficHook": {
      "type": "object",
      "properties": {
        "steps": {
          "description": "A list of steps to run",
          "$ref": "#/definitions/steps"
        },
        "pool": {
          "description": "Pool where post route traffic steps will run",
          "$ref": "#/definitions/pool"
        }
      },
      "additionalProperties": false
    },
    "onSuccessOrFailureHook": {
      "type": "object",
      "properties": {
        "failure": {
          "description": "Runs on failure of any step",
          "$ref": "#/definitions/onFailureHook"
        },
        "success": {
          "description": "Runs on success of all of the steps",
          "$ref": "#/definitions/onSuccessHook"
        }
      },
      "additionalProperties": false
    },
    "onFailureHook": {
      "type": "object",
      "properties": {
        "steps": {
          "description": "A list of steps to run",
          "$ref": "#/definitions/steps"
        },
        "pool": {
          "description": "Pool where post on failure steps will run",
          "$ref": "#/definitions/pool"
        }
      },
      "additionalProperties": false
    },
    "onSuccessHook": {
      "type": "object",
      "properties": {
        "steps": {
          "description": "A list of steps to run",
          "$ref": "#/definitions/steps"
        },
        "pool": {
          "description": "Pool where on success steps will run",
          "$ref": "#/definitions/pool"
        }
      },
      "additionalProperties": false
    },
    "runOnceDeploymentStrategy": {
      "type": "object",
      "properties": {
        "preDeploy": {
          "description": "Pre deploy hook for runOnce deployment strategy",
          "$ref": "#/definitions/preDeployHook"
        },
        "deploy": {
          "description": "Deploy hook for runOnce deployment strategy",
          "$ref": "#/definitions/deployHook"
        },
        "routeTraffic": {
          "description": "Route traffic hook for runOnce deployment strategy",
          "$ref": "#/definitions/routeTrafficHook"
        },
        "postRouteTraffic": {
          "description": "Post route traffic hook for runOnce deployment strategy",
          "$ref": "#/definitions/postRouteTrafficHook"
        },
        "on": {
          "description": "On success or failure hook for runOnce deployment strategy",
          "$ref": "#/definitions/onSuccessOrFailureHook"
        }
      },
      "additionalProperties": false
    },
    "rollingDeploymentStrategy": {
      "type": "object",
      "properties": {
        "maxParallel": {
          "description": "Maximum number of jobs running in parallel",
          "$ref": "#/definitions/nonEmptyString"
        },
        "preDeploy": {
          "description": "Pre deploy hook for rolling deployment strategy",
          "$ref": "#/definitions/preDeployHook"
        },
        "deploy": {
          "description": "Deploy hook for rolling deployment strategy",
          "$ref": "#/definitions/deployHook"
        },
        "routeTraffic": {
          "description": "Route traffic hook for rolling deployment strategy",
          "$ref": "#/definitions/routeTrafficHook"
        },
        "postRouteTraffic": {
          "description": "Post route traffic hook for rolling deployment strategy",
          "$ref": "#/definitions/postRouteTrafficHook"
        },
        "on": {
          "description": "On success or failure hook for rolling deployment strategy",
          "$ref": "#/definitions/onSuccessOrFailureHook"
        }
      },
      "additionalProperties": false
    },
    "canaryDeploymentStrategy": {
      "type": "object",
      "properties": {
        "increments": {
          "description": "Maximum batch size for deployment",
          "$ref": "#/definitions/canaryDeploymentIncrements"
        },
        "preDeploy": {
          "description": "Pre deploy hook for canary deployment strategy",
          "$ref": "#/definitions/preDeployHook"
        },
        "deploy": {
          "description": "Deploy hook for canary deployment strategy",
          "$ref": "#/definitions/deployHook"
        },
        "routeTraffic": {
          "description": "Route traffic hook for canary deployment strategy",
          "$ref": "#/definitions/routeTrafficHook"
        },
        "postRouteTraffic": {
          "description": "Post route traffic hook for canary deployment strategy",
          "$ref": "#/definitions/postRouteTrafficHook"
        },
        "on": {
          "description": "On success or failure hook for canary deployment strategy",
          "$ref": "#/definitions/onSuccessOrFailureHook"
        }
      },
      "additionalProperties": false
    },
    "canaryDeploymentIncrements": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/nonEmptyString"
      }
    },
    "phases": {
      "type": "array",
      "deprecationMessage": "This option is deprecated, use `jobs` instead",
      "items": {
        "$ref": "#/definitions/phase"
      }
    },
    "phase": {
      "deprecationMessage": "This option is deprecated, use `job` (inside `jobs`) instead",
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "phase": {
              "description": "ID of the phase",
              "$ref": "#/definitions/referenceName"
            },
            "dependsOn": {
              "description": "Any phases which must complete before this one",
              "$ref": "#/definitions/jobDependsOn"
            },
            "displayName": {
              "description": "Human-readable name of the phase",
              "$ref": "#/definitions/string"
            },
            "condition": {
              "description": "Evaluate this condition expression to determine whether to run this phase",
              "$ref": "#/definitions/string"
            },
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/jobContinueOnError"
            },
            "queue": {
              "description": "Queue where this phase will run",
              "deprecationMessage": "This option is deprecated, use pool instead",
              "doNotSuggest": true,
              "$ref": "#/definitions/phaseQueueTarget"
            },
            "variables": {
              "description": "Phase-specific variables",
              "$ref": "#/definitions/variables"
            },
            "steps": {
              "description": "A list of steps to run in this phase",
              "$ref": "#/definitions/steps"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "phase"
          ]
        },
        {
          "type": "object",
          "properties": {
            "phase": {
              "description": "ID of the phase",
              "$ref": "#/definitions/referenceName"
            },
            "dependsOn": {
              "description": "Any phases which must complete before this one",
              "$ref": "#/definitions/jobDependsOn"
            },
            "displayName": {
              "description": "Human-readable name of the phase",
              "$ref": "#/definitions/string"
            },
            "condition": {
              "description": "Evaluate this condition expression to determine whether to run this phase",
              "$ref": "#/definitions/string"
            },
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/jobContinueOnError"
            },
            "server": {
              "description": "True if this is an agent-less phase (runs on server)",
              "deprecationMessage": "This option is deprecated, use pool:server instead",
              "doNotSuggest": true,
              "$ref": "#/definitions/phaseServerTarget"
            },
            "variables": {
              "description": "Phase-specific variables",
              "$ref": "#/definitions/variables"
            },
            "steps": {
              "description": "A list of steps to run in this phase",
              "$ref": "#/definitions/steps"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "phase"
          ]
        },
        {
          "type": "object",
          "properties": {
            "template": {
              "description": "Reference to a template for this phase",
              "$ref": "#/definitions/nonEmptyString"
            },
            "parameters": {
              "description": "Parameters used in a phase template",
              "$ref": "#/definitions/mapping"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "template"
          ]
        }
      ]
    },
    "phaseQueueTarget": {
      "description": "Queue details",
      "deprecationMessage": "This option is deprecated, use `pool` under `jobs` instead",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "object",
          "properties": {
            "cancelTimeoutInMinutes": {
              "description": "Time to wait for the phase to cancel before forcibly terminating it",
              "$ref": "#/definitions/nonEmptyString"
            },
            "container": {
              "description": "Container resource name",
              "$ref": "#/definitions/nonEmptyString"
            },
            "demands": {
              "description": "List of demands (for a private queue)",
              "$ref": "#/definitions/phaseTargetDemands"
            },
            "matrix": {
              "$ref": "#/definitions/phaseTargetMatrix"
            },
            "name": {
              "description": "Name of a queue",
              "$ref": "#/definitions/string"
            },
            "parallel": {
              "description": "Maximum number of parallel agent executions",
              "$ref": "#/definitions/nonEmptyString"
            },
            "timeoutInMinutes": {
              "description": "Time to wait before cancelling the phase",
              "$ref": "#/definitions/nonEmptyString"
            },
            "workspace": {
              "$ref": "#/definitions/phaseTargetWorkspace"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "phaseServerTarget": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "object",
          "properties": {
            "cancelTimeoutInMinutes": {
              "description": "Time to wait for the job to cancel before forcibly terminating it",
              "$ref": "#/definitions/nonEmptyString"
            },
            "matrix": {
              "$ref": "#/definitions/phaseTargetMatrix"
            },
            "parallel": {
              "description": "Maximum number of parallel agent executions",
              "$ref": "#/definitions/nonEmptyString"
            },
            "timeoutInMinutes": {
              "description": "Time to wait before cancelling the job",
              "$ref": "#/definitions/nonEmptyString"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "phaseTargetDemands": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/nonEmptyString"
          }
        }
      ]
    },
    "phaseTargetWorkspace": {
      "type": "object",
      "properties": {
        "clean": {
          "description": "Scorch the repo before fetching?",
          "enum": [
            "outputs",
            "resources",
            "all"
          ],
          "$ref": "#/definitions/string"
        }
      },
      "additionalProperties": false
    },
    "phaseTargetMatrix": {
      "description": "List of permutations of variable values to run",
      "anyOf": [
        {
          "type": "object",
          "additionalProperties": true
        },
        {
          "type": "string"
        }
      ],
      "minProperties": 1,
      "patternProperties": {
        "^[A-Za-z0-9_]+$": {
          "$ref": "#/definitions/matrixProperties"
        }
      }
    },
    "stepsTemplate": {
      "type": "object",
      "properties": {
        "parameters": {
          "description": "Step-specific parameters",
          "$ref": "#/definitions/templateParameters"
        },
        "steps": {
          "description": "A list of steps to run",
          "$ref": "#/definitions/steps"
        }
      },
      "additionalProperties": false
    },
    "steps": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/step"
      }
    },
    "step": {
      "anyOf": [
        {
          "type": "object",
          "$ref": "#/definitions/task"
        },
        {
          "type": "object",
          "properties": {
            "script": {
              "description": "An inline script",
              "$ref": "#/definitions/string"
            },
            "failOnStderr": {
              "description": "Fail the task if output is sent to Stderr?",
              "$ref": "#/definitions/string"
            },
            "workingDirectory": {
              "description": "Start the script with this working directory",
              "$ref": "#/definitions/string"
            },
            "condition": {
              "description": "Evaluate this condition expression to determine whether to run this task",
              "$ref": "#/definitions/string"
            },
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/boolean"
            },
            "displayName": {
              "description": "Human-readable name for the task",
              "$ref": "#/definitions/string"
            },
            "target": {
              "description": "Environment in which to run this task",
              "$ref": "#/definitions/stepTarget"
            },
            "enabled": {
              "description": "Run this task when the job runs?",
              "$ref": "#/definitions/boolean"
            },
            "env": {
              "description": "Variables to map into the process's environment",
              "$ref": "#/definitions/mappingOfStringString"
            },
            "name": {
              "description": "ID of the step",
              "$ref": "#/definitions/referenceName"
            },
            "timeoutInMinutes": {
              "description": "Time to wait for this task to complete before the server kills it",
              "$ref": "#/definitions/nonEmptyString"
            },
            "retryCountOnTaskFailure": {
              "description": "Number of retries if the task fails",
              "$ref": "#/definitions/string"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "script"
          ],
          "required": [
            "script"
          ]
        },
        {
          "type": "object",
          "properties": {
            "powershell": {
              "description": "Inline PowerShell or reference to a PowerShell file",
              "$ref": "#/definitions/string"
            },
            "errorActionPreference": {
              "$ref": "#/definitions/string"
            },
            "failOnStderr": {
              "description": "Fail the task if output is sent to Stderr?",
              "$ref": "#/definitions/string"
            },
            "ignoreLASTEXITCODE": {
              "description": "Check the final exit code of the script to determine whether the step succeeded?",
              "$ref": "#/definitions/string"
            },
            "workingDirectory": {
              "description": "Start the script with this working directory",
              "$ref": "#/definitions/string"
            },
            "condition": {
              "description": "Evaluate this condition expression to determine whether to run this task",
              "$ref": "#/definitions/string"
            },
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/boolean"
            },
            "displayName": {
              "description": "Human-readable name for the task",
              "$ref": "#/definitions/string"
            },
            "target": {
              "description": "Environment in which to run this task",
              "$ref": "#/definitions/stepTarget"
            },
            "enabled": {
              "description": "Run this task when the job runs?",
              "$ref": "#/definitions/boolean"
            },
            "env": {
              "description": "Variables to map into the process's environment",
              "$ref": "#/definitions/mappingOfStringString"
            },
            "name": {
              "description": "ID of the step",
              "$ref": "#/definitions/referenceName"
            },
            "timeoutInMinutes": {
              "description": "Time to wait for this task to complete before the server kills it",
              "$ref": "#/definitions/nonEmptyString"
            },
            "retryCountOnTaskFailure": {
              "description": "Number of retries if the task fails",
              "$ref": "#/definitions/string"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "powershell"
          ],
          "required": [
            "powershell"
          ]
        },
        {
          "type": "object",
          "properties": {
            "pwsh": {
              "description": "Inline PowerShell or reference to a PowerShell file",
              "$ref": "#/definitions/string"
            },
            "errorActionPreference": {
              "$ref": "#/definitions/string"
            },
            "failOnStderr": {
              "description": "Fail the task if output is sent to Stderr?",
              "$ref": "#/definitions/string"
            },
            "ignoreLASTEXITCODE": {
              "description": "Check the final exit code of the script to determine whether the step succeeded?",
              "$ref": "#/definitions/string"
            },
            "workingDirectory": {
              "description": "Start the script with this working directory",
              "$ref": "#/definitions/string"
            },
            "condition": {
              "description": "Evaluate this condition expression to determine whether to run this task",
              "$ref": "#/definitions/string"
            },
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/boolean"
            },
            "displayName": {
              "description": "Human-readable name for the task",
              "$ref": "#/definitions/string"
            },
            "target": {
              "description": "Environment in which to run this task",
              "$ref": "#/definitions/stepTarget"
            },
            "enabled": {
              "description": "Run this task when the job runs?",
              "$ref": "#/definitions/boolean"
            },
            "env": {
              "description": "Variables to map into the process's environment",
              "$ref": "#/definitions/mappingOfStringString"
            },
            "name": {
              "description": "ID of the step",
              "$ref": "#/definitions/referenceName"
            },
            "timeoutInMinutes": {
              "description": "Time to wait for this task to complete before the server kills it",
              "$ref": "#/definitions/nonEmptyString"
            },
            "retryCountOnTaskFailure": {
              "description": "Number of retries if the task fails",
              "$ref": "#/definitions/string"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "pwsh"
          ],
          "required": [
            "pwsh"
          ]
        },
        {
          "type": "object",
          "properties": {
            "bash": {
              "description": "An inline script",
              "$ref": "#/definitions/string"
            },
            "failOnStderr": {
              "description": "Fail the task if output is sent to Stderr?",
              "$ref": "#/definitions/string"
            },
            "workingDirectory": {
              "description": "Start the script with this working directory",
              "$ref": "#/definitions/string"
            },
            "condition": {
              "description": "Evaluate this condition expression to determine whether to run this task",
              "$ref": "#/definitions/string"
            },
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/boolean"
            },
            "displayName": {
              "description": "Human-readable name for the task",
              "$ref": "#/definitions/string"
            },
            "target": {
              "description": "Environment in which to run this task",
              "$ref": "#/definitions/stepTarget"
            },
            "enabled": {
              "description": "Run this task when the job runs?",
              "$ref": "#/definitions/boolean"
            },
            "env": {
              "description": "Variables to map into the process's environment",
              "$ref": "#/definitions/mappingOfStringString"
            },
            "name": {
              "description": "ID of the step",
              "$ref": "#/definitions/referenceName"
            },
            "timeoutInMinutes": {
              "description": "Time to wait for this task to complete before the server kills it",
              "$ref": "#/definitions/nonEmptyString"
            },
            "retryCountOnTaskFailure": {
              "description": "Number of retries if the task fails",
              "$ref": "#/definitions/string"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "bash"
          ],
          "required": [
            "bash"
          ]
        },
        {
          "type": "object",
          "properties": {
            "checkout": {
              "description": "Alias of the repository resource to check out or 'none'",
              "$ref": "#/definitions/string"
            },
            "clean": {
              "description": "Scorch the repo before fetching?",
              "enum": [
                "true",
                "false"
              ],
              "$ref": "#/definitions/string"
            },
            "fetchDepth": {
              "description": "Depth of Git graph to fetch",
              "$ref": "#/definitions/string"
            },
            "fetchTags": {
              "description": "Fetch tags?",
              "$ref": "#/definitions/string"
            },
            "lfs": {
              "description": "Fetch Git-LFS objects?",
              "$ref": "#/definitions/string"
            },
            "persistCredentials": {
              "description": "Keep credentials available for later use?",
              "$ref": "#/definitions/string"
            },
            "submodules": {
              "description": "Check out Git submodules?",
              "$ref": "#/definitions/string"
            },
            "path": {
              "description": "Path of the repository to check out",
              "$ref": "#/definitions/string"
            },
            "condition": {
              "description": "Evaluate this condition expression to determine whether to run this task",
              "$ref": "#/definitions/string"
            },
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/boolean"
            },
            "displayName": {
              "description": "Human-readable name for the task",
              "$ref": "#/definitions/string"
            },
            "target": {
              "description": "Environment in which to run this task",
              "$ref": "#/definitions/stepTarget"
            },
            "enabled": {
              "description": "Run this task when the job runs?",
              "$ref": "#/definitions/boolean"
            },
            "env": {
              "description": "Variables to map into the process's environment",
              "$ref": "#/definitions/mappingOfStringString"
            },
            "name": {
              "description": "ID of the step",
              "$ref": "#/definitions/referenceName"
            },
            "timeoutInMinutes": {
              "description": "Time to wait for this task to complete before the server kills it",
              "$ref": "#/definitions/nonEmptyString"
            },
            "retryCountOnTaskFailure": {
              "description": "Number of retries if the task fails",
              "$ref": "#/definitions/string"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "checkout"
          ]
        },
        {
          "type": "object",
          "properties": {
            "download": {
              "description": "Reference to the pipeline",
              "$ref": "#/definitions/nonEmptyString"
            },
            "artifact": {
              "description": "Name of the artifact to download",
              "$ref": "#/definitions/nonEmptyString"
            },
            "patterns": {
              "description": "Pattern to download files from artifact",
              "$ref": "#/definitions/nonEmptyString"
            },
            "condition": {
              "description": "Evaluate this condition expression to determine whether to run this task",
              "$ref": "#/definitions/string"
            },
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/boolean"
            },
            "displayName": {
              "description": "Human-readable name for the task",
              "$ref": "#/definitions/string"
            },
            "target": {
              "description": "Environment in which to run this task",
              "$ref": "#/definitions/stepTarget"
            },
            "enabled": {
              "description": "Run this task when the job runs?",
              "$ref": "#/definitions/boolean"
            },
            "env": {
              "description": "Variables to map into the process's environment",
              "$ref": "#/definitions/mappingOfStringString"
            },
            "name": {
              "description": "ID of the step",
              "$ref": "#/definitions/referenceName"
            },
            "timeoutInMinutes": {
              "description": "Time to wait for this task to complete before the server kills it",
              "$ref": "#/definitions/nonEmptyString"
            },
            "retryCountOnTaskFailure": {
              "description": "Number of retries if the task fails",
              "$ref": "#/definitions/string"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "download"
          ],
          "required": [
            "download"
          ]
        },
        {
          "type": "object",
          "properties": {
            "downloadBuild": {
              "description": "ID for the build resource",
              "$ref": "#/definitions/nonEmptyString"
            },
            "artifact": {
              "description": "Name of the artifact to download",
              "$ref": "#/definitions/string"
            },
            "path": {
              "description": "Path to download the artifact into",
              "$ref": "#/definitions/string"
            },
            "patterns": {
              "description": "Downloads the files which matches the patterns",
              "$ref": "#/definitions/string"
            },
            "condition": {
              "description": "Evaluate this condition expression to determine whether to run this task",
              "$ref": "#/definitions/string"
            },
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/boolean"
            },
            "displayName": {
              "description": "Human-readable name for the task",
              "$ref": "#/definitions/string"
            },
            "target": {
              "description": "Environment in which to run this task",
              "$ref": "#/definitions/stepTarget"
            },
            "enabled": {
              "description": "Run this task when the job runs?",
              "$ref": "#/definitions/boolean"
            },
            "env": {
              "description": "Variables to map into the process's environment",
              "$ref": "#/definitions/mappingOfStringString"
            },
            "name": {
              "description": "ID of the step",
              "$ref": "#/definitions/referenceName"
            },
            "timeoutInMinutes": {
              "description": "Time to wait for this task to complete before the server kills it",
              "$ref": "#/definitions/nonEmptyString"
            },
            "retryCountOnTaskFailure": {
              "description": "Number of retries if the task fails",
              "$ref": "#/definitions/string"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "downloadBuild"
          ]
        },
        {
          "type": "object",
          "properties": {
            "getPackage": {
              "description": "ID for the package resource",
              "$ref": "#/definitions/nonEmptyString"
            },
            "path": {
              "description": "Path to download the package into",
              "$ref": "#/definitions/string"
            },
            "condition": {
              "description": "Evaluate this condition expression to determine whether to run this task",
              "$ref": "#/definitions/string"
            },
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/boolean"
            },
            "displayName": {
              "description": "Human-readable name for the task",
              "$ref": "#/definitions/string"
            },
            "target": {
              "description": "Environment in which to run this task",
              "$ref": "#/definitions/stepTarget"
            },
            "enabled": {
              "description": "Run this task when the job runs?",
              "$ref": "#/definitions/boolean"
            },
            "env": {
              "description": "Variables to map into the process's environment",
              "$ref": "#/definitions/mappingOfStringString"
            },
            "name": {
              "description": "ID of the step",
              "$ref": "#/definitions/referenceName"
            },
            "timeoutInMinutes": {
              "description": "Time to wait for this task to complete before the server kills it",
              "$ref": "#/definitions/nonEmptyString"
            },
            "retryCountOnTaskFailure": {
              "description": "Number of retries if the task fails",
              "$ref": "#/definitions/string"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "getPackage"
          ]
        },
        {
          "type": "object",
          "properties": {
            "upload": {
              "deprecationMessage": "This option is deprecated, use `publish` instead",
              "doNotSuggest": true,
              "$ref": "#/definitions/string"
            },
            "artifact": {
              "$ref": "#/definitions/string"
            },
            "condition": {
              "description": "Evaluate this condition expression to determine whether to run this task",
              "$ref": "#/definitions/string"
            },
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/boolean"
            },
            "displayName": {
              "description": "Human-readable name for the task",
              "$ref": "#/definitions/string"
            },
            "target": {
              "description": "Environment in which to run this task",
              "$ref": "#/definitions/stepTarget"
            },
            "enabled": {
              "description": "Run this task when the job runs?",
              "$ref": "#/definitions/boolean"
            },
            "env": {
              "description": "Variables to map into the process's environment",
              "$ref": "#/definitions/mappingOfStringString"
            },
            "name": {
              "description": "ID of the step",
              "$ref": "#/definitions/referenceName"
            },
            "timeoutInMinutes": {
              "description": "Time to wait for this task to complete before the server kills it",
              "$ref": "#/definitions/nonEmptyString"
            },
            "retryCountOnTaskFailure": {
              "description": "Number of retries if the task fails",
              "$ref": "#/definitions/string"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "upload"
          ]
        },
        {
          "type": "object",
          "properties": {
            "publish": {
              "$ref": "#/definitions/string"
            },
            "artifact": {
              "$ref": "#/definitions/string"
            },
            "condition": {
              "description": "Evaluate this condition expression to determine whether to run this task",
              "$ref": "#/definitions/string"
            },
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/boolean"
            },
            "displayName": {
              "description": "Human-readable name for the task",
              "$ref": "#/definitions/string"
            },
            "target": {
              "description": "Environment in which to run this task",
              "$ref": "#/definitions/stepTarget"
            },
            "enabled": {
              "description": "Run this task when the job runs?",
              "$ref": "#/definitions/boolean"
            },
            "env": {
              "description": "Variables to map into the process's environment",
              "$ref": "#/definitions/mappingOfStringString"
            },
            "name": {
              "description": "ID of the step",
              "$ref": "#/definitions/referenceName"
            },
            "timeoutInMinutes": {
              "description": "Time to wait for this task to complete before the server kills it",
              "$ref": "#/definitions/nonEmptyString"
            },
            "retryCountOnTaskFailure": {
              "description": "Number of retries if the task fails",
              "$ref": "#/definitions/string"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "publish"
          ]
        },
        {
          "type": "object",
          "properties": {
            "template": {
              "description": "Reference to a template for this step",
              "$ref": "#/definitions/nonEmptyString"
            },
            "parameters": {
              "description": "Parameters used in a step template",
              "$ref": "#/definitions/mapping"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "template"
          ]
        },
        {
          "type": "object",
          "properties": {
            "reviewApp": {
              "$ref": "#/definitions/string"
            },
            "condition": {
              "description": "Evaluate this condition expression to determine whether to run this task",
              "$ref": "#/definitions/string"
            },
            "continueOnError": {
              "description": "Continue running even on failure?",
              "$ref": "#/definitions/boolean"
            },
            "displayName": {
              "description": "Human-readable name for the task",
              "$ref": "#/definitions/string"
            },
            "target": {
              "description": "Environment in which to run this task",
              "$ref": "#/definitions/stepTarget"
            },
            "enabled": {
              "description": "Run this task when the job runs?",
              "$ref": "#/definitions/boolean"
            },
            "env": {
              "description": "Variables to map into the process's environment",
              "$ref": "#/definitions/mappingOfStringString"
            },
            "name": {
              "description": "ID of the step",
              "$ref": "#/definitions/referenceName"
            },
            "timeoutInMinutes": {
              "description": "Time to wait for this task to complete before the server kills it",
              "$ref": "#/definitions/nonEmptyString"
            },
            "retryCountOnTaskFailure": {
              "description": "Number of retries if the task fails",
              "$ref": "#/definitions/string"
            }
          },
          "additionalProperties": false,
          "firstProperty": [
            "reviewApp"
          ]
        }
      ]
    },
    "stepTarget": {
      "description": "Step target",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "object",
          "properties": {
            "container": {
              "description": "Container to target (or 'host' for host machine)",
              "$ref": "#/definitions/nonEmptyString"
            },
            "commands": {
              "description": "Set of allowed logging commands ('any' or 'restricted')",
              "enum": [
                "any",
                "restricted"
              ],
              "$ref": "#/definitions/string"
            },
            "settableVariables": {
              "description": "Restrictions on which variables that can be set",
              "$ref": "#/definitions/variableRestrictions"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "variableRestrictions": {
      "anyOf": [
        {
          "type": "string",
          "ignoreCase": "value",
          "pattern": "^none$"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/nonEmptyString"
          }
        }
      ]
    },
    "jobDecoratorSteps": {
      "type": "object",
      "properties": {
        "steps": {
          "description": "A list of steps to run in this job",
          "$ref": "#/definitions/tasks"
        }
      },
      "additionalProperties": false
    },
    "tasks": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/task"
      }
    },
    "taskBase": {
      "type": "object",
      "properties": {
        "condition": {
          "description": "Evaluate this condition expression to determine whether to run this task",
          "$ref": "#/definitions/string"
        },
        "continueOnError": {
          "description": "Continue running even on failure?",
          "$ref": "#/definitions/boolean"
        },
        "displayName": {
          "description": "Human-readable name for the task",
          "$ref": "#/definitions/string"
        },
        "target": {
          "description": "Environment in which to run this task",
          "$ref": "#/definitions/stepTarget"
        },
        "enabled": {
          "description": "Run this task when the job runs?",
          "$ref": "#/definitions/boolean"
        },
        "env": {
          "description": "Variables to map into the process's environment",
          "$ref": "#/definitions/mappingOfStringString"
        },
        "name": {
          "description": "ID of the step",
          "$ref": "#/definitions/referenceName"
        },
        "timeoutInMinutes": {
          "description": "Time to wait for this task to complete before the server kills it",
          "$ref": "#/definitions/nonEmptyString"
        },
        "retryCountOnTaskFailure": {
          "description": "Number of retries if the task fails",
          "$ref": "#/definitions/string"
        }
      },
      "additionalProperties": false
    },
    "jobContinueOnError": {
      "type": "string"
    },
    "jobDependsOn": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/string"
          }
        }
      ]
    },
    "referenceName": {
      "type": "string",
      "pattern": "^[-_A-Za-z0-9]*$"
    },
    "templateContext": {
      "type": "object",
      "additionalProperties": true
    },
    "boolean": {
      "anyOf": [
        {
          "type": "string",
          "ignoreCase": "value",
          "pattern": "^true$"
        },
        {
          "type": "string",
          "ignoreCase": "value",
          "pattern": "^y$"
        },
        {
          "type": "string",
          "ignoreCase": "value",
          "pattern": "^yes$"
        },
        {
          "type": "string",
          "ignoreCase": "value",
          "pattern": "^on$"
        },
        {
          "type": "string",
          "ignoreCase": "value",
          "pattern": "^false$"
        },
        {
          "type": "string",
          "ignoreCase": "value",
          "pattern": "^n$"
        },
        {
          "type": "string",
          "ignoreCase": "value",
          "pattern": "^no$"
        },
        {
          "type": "string",
          "ignoreCase": "value",
          "pattern": "^off$"
        }
      ]
    },
    "string_allowExpressions": {
      "type": "string"
    },
    "nonEmptyString": {
      "type": "string"
    },
    "sequenceOfNonEmptyString": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/nonEmptyString"
      }
    },
    "sequenceOfString_allowExpressions": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/string_allowExpressions"
      }
    },
    "mappingOfStringString": {
      "type": "object",
      "additionalProperties": true
    },
    "any_allowExpressions": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/any"
          }
        },
        {
          "type": "object",
          "additionalProperties": true
        }
      ]
    },
    "task": {
      "type": "object",
      "properties": {
        "task": {
          "anyOf": [
            {
              "description": "Run a PowerShell script",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PowerShell@1"
              ]
            },
            {
              "description": "Run a PowerShell script on Linux, macOS, or Windows",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PowerShell@2"
              ]
            },
            {
              "description": "Run a PowerShell script within an Azure environment",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzurePowerShell@4"
              ]
            },
            {
              "description": "Run a PowerShell script within an Azure environment",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzurePowerShell@2"
              ]
            },
            {
              "description": "Run a PowerShell script within an Azure environment",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzurePowerShell@5"
              ]
            },
            {
              "description": "Run a PowerShell script within an Azure environment",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzurePowerShell@3"
              ]
            },
            {
              "description": "Run a PowerShell script within an Azure environment",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzurePowerShell@1"
              ]
            },
            {
              "description": "Run scripts and make changes to a MySQL Database",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "MysqlDeploymentOnMachineGroup@1"
              ]
            },
            {
              "description": "Authentication task for the pip client used for installing Python distributions",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PipAuthenticate@1"
              ]
            },
            {
              "description": "Authentication task for the pip client used for installing Python distributions",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PipAuthenticate@0"
              ]
            },
            {
              "description": "Build, test, and deploy with Apache Maven",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Maven@4"
              ]
            },
            {
              "description": "Build, test, and deploy with Apache Maven",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Maven@3"
              ]
            },
            {
              "description": "Build, test, and deploy with Apache Maven",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Maven@2"
              ]
            },
            {
              "description": "Build with Apache Maven",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Maven@1"
              ]
            },
            {
              "description": "Build, test and publish using dotnet core command-line.",
              "deprecationMessage": "DotNetCoreCLI is deprecated - Build, test and publish using dotnet core command-line.",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "DotNetCoreCLI@0"
              ]
            },
            {
              "description": "Build, test, package, or publish a dotnet application, or run a custom dotnet command",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DotNetCoreCLI@2"
              ]
            },
            {
              "description": "Build, test and publish using dotnet core command-line.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DotNetCoreCLI@1"
              ]
            },
            {
              "description": "This task is deprecated. Use 'NuGet' instead.",
              "deprecationMessage": "XamarinComponentRestore is deprecated - This task is deprecated. Use 'NuGet' instead.",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "XamarinComponentRestore@0"
              ]
            },
            {
              "description": "Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureRmWebAppDeployment@4"
              ]
            },
            {
              "description": "Update Azure App Service using Web Deploy / Kudu REST APIs",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureRmWebAppDeployment@2"
              ]
            },
            {
              "description": "Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureRmWebAppDeployment@3"
              ]
            },
            {
              "description": "Execute PowerShell scripts on remote machines using PSSession and Invoke-Command for remoting",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PowerShellOnTargetMachines@3"
              ]
            },
            {
              "description": "Execute PowerShell scripts on remote machine(s)",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PowerShellOnTargetMachines@1"
              ]
            },
            {
              "description": "Execute PowerShell scripts on remote machine(s)",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PowerShellOnTargetMachines@2"
              ]
            },
            {
              "description": "Publish any of the code coverage results from a build",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PublishCodeCoverageResults@2"
              ]
            },
            {
              "description": "Publish Cobertura or JaCoCo code coverage results from a build",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PublishCodeCoverageResults@1"
              ]
            },
            {
              "description": "Deprecated: This task and it’s companion task (Visual Studio Test Agent Deployment) are deprecated. Use the 'Visual Studio Test' task instead. The VSTest task can run unit as well as functional tests. Run tests on one or more agents using the multi-agent job setting. Use the 'Visual Studio Test Platform' task to run tests without needing Visual Studio on the agent. VSTest task also brings new capabilities such as automatically rerunning failed tests.",
              "deprecationMessage": "RunVisualStudioTestsusingTestAgent is deprecated - Deprecated: This task and it’s companion task (Visual Studio Test Agent Deployment) are deprecated. Use the 'Visual Studio Test' task instead. The VSTest task can run unit as well as functional tests. Run tests on one or more agents using the multi-agent job setting. Use the 'Visual Studio Test Platform' task to run tests without needing Visual Studio on the agent. VSTest task also brings new capabilities such as automatically rerunning failed tests.",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "RunVisualStudioTestsusingTestAgent@1"
              ]
            },
            {
              "description": "Pause deployment and wait for manual intervention",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "ManualIntervention@8"
              ]
            },
            {
              "description": "Install an Apple provisioning profile required to build on a macOS agent",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "InstallAppleProvisioningProfile@0"
              ]
            },
            {
              "description": "Install an Apple provisioning profile required to build on a macOS agent machine",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "InstallAppleProvisioningProfile@1"
              ]
            },
            {
              "description": "[DEPRECATED] Finish the analysis and upload the results to SonarQube",
              "deprecationMessage": "SonarQubePostTest is deprecated - [DEPRECATED] Finish the analysis and upload the results to SonarQube",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "SonarQubePostTest@1"
              ]
            },
            {
              "description": "Create and upload an sdist or wheel to a PyPI-compatible index using Twine",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PyPIPublisher@0"
              ]
            },
            {
              "description": "Run scripts with Knife commands on your Chef workstation",
              "deprecationMessage": "ChefKnife is deprecated - Run scripts with Knife commands on your Chef workstation",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "ChefKnife@1"
              ]
            },
            {
              "description": "Find in cache or download a specific version of Go and add it to the PATH",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "GoTool@0"
              ]
            },
            {
              "description": "Generate an .ipa file from Xcode build output using xcrun (Xcode 7 or below)",
              "deprecationMessage": "XcodePackageiOS is deprecated - Generate an .ipa file from Xcode build output using xcrun (Xcode 7 or below)",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "XcodePackageiOS@0"
              ]
            },
            {
              "description": "Get, build, or test a Go application, or run a custom Go command",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Go@0"
              ]
            },
            {
              "description": "Publish Pipeline Metadata to Evidence store",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PublishPipelineMetadata@0"
              ]
            },
            {
              "description": "Build, tag, push, or run Docker images, or run a Docker command",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Docker@0"
              ]
            },
            {
              "description": "Build, tag, push, or run Docker images, or run a Docker command",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Docker@1"
              ]
            },
            {
              "description": "Build or push Docker images, login or logout, start or stop containers, or run a Docker command",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Docker@2"
              ]
            },
            {
              "description": "Queue a job on a Jenkins server",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "JenkinsQueueJob@1"
              ]
            },
            {
              "description": "Queue a job on a Jenkins server",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "JenkinsQueueJob@2"
              ]
            },
            {
              "description": "Upload files using FTP",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "FtpUpload@2"
              ]
            },
            {
              "description": "Upload files using FTP",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "FtpUpload@1"
              ]
            },
            {
              "description": "Copy files to remote Windows machines",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "WindowsMachineFileCopy@1"
              ]
            },
            {
              "description": "Copy files to remote Windows machines",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "WindowsMachineFileCopy@2"
              ]
            },
            {
              "description": "[Deprecated]  Use Gradle",
              "deprecationMessage": "AndroidBuild is deprecated - [Deprecated]  Use Gradle",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "AndroidBuild@1"
              ]
            },
            {
              "description": "Authenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "TwineAuthenticate@0"
              ]
            },
            {
              "description": "Authenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "TwineAuthenticate@1"
              ]
            },
            {
              "description": "Deploy a website or web application using Web Deploy",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "IISWebAppDeploymentOnMachineGroup@0"
              ]
            },
            {
              "description": "Run a Python file or inline script",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PythonScript@0"
              ]
            },
            {
              "description": "Install Helm and Kubernetes on an agent machine",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "HelmInstaller@0"
              ]
            },
            {
              "description": "Install Helm on an agent machine",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "HelmInstaller@1"
              ]
            },
            {
              "description": "Install specific Node.js version to run node tasks",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "NodeTaskRunnerInstaller@0"
              ]
            },
            {
              "description": "[Deprecated] Upgrade to free version of Xamarin: https://store.xamarin.com",
              "deprecationMessage": "XamarinLicense is deprecated - [Deprecated] Upgrade to free version of Xamarin: https://store.xamarin.com",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "XamarinLicense@1"
              ]
            },
            {
              "description": "This version of the task is deprecated, use NuGetAuthenticateV1 instead. Configure NuGet tools to authenticate with Azure Artifacts and other NuGet repositories. Requires NuGet >= 4.8.5385, dotnet >= 2.1.400, or MSBuild >= 15.8.166.59604.",
              "deprecationMessage": "NuGetAuthenticate is deprecated - This version of the task is deprecated, use NuGetAuthenticateV1 instead. Configure NuGet tools to authenticate with Azure Artifacts and other NuGet repositories. Requires NuGet >= 4.8.5385, dotnet >= 2.1.400, or MSBuild >= 15.8.166.59604.",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "NuGetAuthenticate@0"
              ]
            },
            {
              "description": "Configure NuGet tools to authenticate with Azure Artifacts and other NuGet repositories. Requires NuGet >= 4.8.5385, dotnet >= 6, or MSBuild >= 15.8.166.59604",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "NuGetAuthenticate@1"
              ]
            },
            {
              "description": "Restore your nuget packages using dotnet CLI",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DownloadGitHubNugetPackage@1"
              ]
            },
            {
              "description": "Provides credentials for Azure Artifacts feeds and external maven repositories",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "MavenAuthenticate@0"
              ]
            },
            {
              "description": "Use this task under deploy phase provider to create a resource dynamically",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "ReviewApp@0"
              ]
            },
            {
              "description": "Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "JavaToolInstaller@0"
              ]
            },
            {
              "description": "Deploy to Chef environments by editing environment attributes",
              "deprecationMessage": "Chef is deprecated - Deploy to Chef environments by editing environment attributes",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "Chef@1"
              ]
            },
            {
              "description": "Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureFunctionApp@2"
              ]
            },
            {
              "description": "Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureFunctionApp@1"
              ]
            },
            {
              "description": "Don't use this task if you're also using the npm task. Provides npm credentials to an .npmrc file in your repository for the scope of the build. This enables npm task runners like gulp and Grunt to authenticate with private registries.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "npmAuthenticate@0"
              ]
            },
            {
              "description": "Build with MSBuild",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "MSBuild@1"
              ]
            },
            {
              "description": "Build a machine image using Packer, which may be used for Azure Virtual machine scale set deployment",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PackerBuild@0"
              ]
            },
            {
              "description": "Build a machine image using Packer, which may be used for Azure Virtual machine scale set deployment",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PackerBuild@1"
              ]
            },
            {
              "description": "Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.",
              "deprecationMessage": "NuGetPackager is deprecated - Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "NuGetPackager@0"
              ]
            },
            {
              "description": "Install a specified version of Duffle for installing and managing CNAB bundles",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DuffleInstaller@0"
              ]
            },
            {
              "description": "Automatically updates the versions of a packaged Service Fabric application.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "ServiceFabricUpdateAppVersions@1"
              ]
            },
            {
              "description": "Automatically update portions of application and service manifests in a packaged Azure Service Fabric application",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "ServiceFabricUpdateManifests@2"
              ]
            },
            {
              "description": "Observe the configured Azure Monitor rules for active alerts",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureMonitor@1"
              ]
            },
            {
              "description": "Observe the configured classic Azure Monitor rules for active alerts",
              "deprecationMessage": "AzureMonitor is deprecated - Observe the configured classic Azure Monitor rules for active alerts",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "AzureMonitor@0"
              ]
            },
            {
              "description": "Connect or disconnect an Azure virtual machine's network interface to a Load Balancer's back end address pool",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureNLBManagement@1"
              ]
            },
            {
              "description": "Run an Apache JMeter load test in the cloud",
              "deprecationMessage": "ApacheJMeterLoadTest is deprecated - Run an Apache JMeter load test in the cloud",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "ApacheJMeterLoadTest@1"
              ]
            },
            {
              "description": "Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DockerCompose@0"
              ]
            },
            {
              "description": "Configure alerts on available metrics for an Azure resource (Deprecated)",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureMonitorAlerts@0"
              ]
            },
            {
              "description": "[Deprecated] Test mobile apps with Xamarin Test Cloud using Xamarin.UITest. Instead, use the 'App Center test' task.",
              "deprecationMessage": "XamarinTestCloud is deprecated - [Deprecated] Test mobile apps with Xamarin Test Cloud using Xamarin.UITest. Instead, use the 'App Center test' task.",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "XamarinTestCloud@1"
              ]
            },
            {
              "description": "Deploy an Azure Service Fabric application to a cluster",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "ServiceFabricDeploy@1"
              ]
            },
            {
              "description": "Build, test, or archive an Xcode workspace on macOS. Optionally package an app.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Xcode@5"
              ]
            },
            {
              "description": "Build an Xcode workspace on macOS",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Xcode@3"
              ]
            },
            {
              "description": "Build, test, or archive an Xcode workspace on macOS. Optionally package an app.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Xcode@4"
              ]
            },
            {
              "description": "Build an Xcode workspace on Mac OS",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Xcode@2"
              ]
            },
            {
              "description": "Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.",
              "deprecationMessage": "NuGetPublisher is deprecated - Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "NuGetPublisher@0"
              ]
            },
            {
              "description": "Execute a work item query and check the number of items returned",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "queryWorkItems@0"
              ]
            },
            {
              "description": "Deploy containers to Azure App Service",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureWebAppContainer@1"
              ]
            },
            {
              "description": "Deploy a SQL Server database using DACPAC or SQL scripts",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "SqlDacpacDeploymentOnMachineGroup@0"
              ]
            },
            {
              "description": "Cache files between runs",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "CacheBeta@1"
              ]
            },
            {
              "description": "Cache files between runs",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Cache@2"
              ]
            },
            {
              "description": "Cache files between runs",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "CacheBeta@0"
              ]
            },
            {
              "description": "Build with the CMake cross-platform build system",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "CMake@1"
              ]
            },
            {
              "description": "Test mobile app packages with Visual Studio Mobile Center.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "VSMobileCenterTest@0"
              ]
            },
            {
              "description": "Test app packages with Visual Studio App Center",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AppCenterTest@1"
              ]
            },
            {
              "description": "Download a secure file to the agent machine",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DownloadSecureFile@1"
              ]
            },
            {
              "description": "An Azure DevOps Task to build and deploy Azure Container Apps.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureContainerApps@0"
              ]
            },
            {
              "description": "Use the specified version of Ruby from the tool cache, optionally adding it to the PATH",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "UseRubyVersion@0"
              ]
            },
            {
              "description": "Run the Grunt JavaScript task runner",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Grunt@0"
              ]
            },
            {
              "description": "Deploy an Azure SQL Database using DACPAC or run scripts using SQLCMD",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "SqlAzureDacpacDeployment@1"
              ]
            },
            {
              "description": "Uses container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) to validate the structure of an image based on four categories of tests - command tests, file existence tests, file content tests and metadata tests",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "ContainerStructureTest@0"
              ]
            },
            {
              "description": "Deploy using MSDeploy, then create/update websites and app pools",
              "deprecationMessage": "IISWebAppDeployment is deprecated - Deploy using MSDeploy, then create/update websites and app pools",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "IISWebAppDeployment@1"
              ]
            },
            {
              "description": "Run a load test in the cloud with Azure Pipelines",
              "deprecationMessage": "CloudLoadTest is deprecated - Run a load test in the cloud with Azure Pipelines",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "CloudLoadTest@1"
              ]
            },
            {
              "description": "Install Kubectl on agent machine",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "KubectlInstaller@0"
              ]
            },
            {
              "description": "Run a command line with arguments",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "CmdLine@1"
              ]
            },
            {
              "description": "Run a command line script using Bash on Linux and macOS and cmd.exe on Windows",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "CmdLine@2"
              ]
            },
            {
              "description": "Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.",
              "deprecationMessage": "NuGet is deprecated - Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "NuGet@0"
              ]
            },
            {
              "description": "Container Build Task",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "ContainerBuild@0"
              ]
            },
            {
              "description": "Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "NuGetCommand@2"
              ]
            },
            {
              "description": "Installs or restores missing NuGet packages. Use NuGetAuthenticate@0 task for latest capabilities.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "NuGetInstaller@0"
              ]
            },
            {
              "description": "Restores NuGet packages in preparation for a Visual Studio Build step.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "NuGetRestore@1"
              ]
            },
            {
              "description": "Delay further execution of a workflow by a fixed time",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Delay@1"
              ]
            },
            {
              "description": "Build an iOS app with Xamarin on macOS",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "XamariniOS@2"
              ]
            },
            {
              "description": "Build an iOS app with Xamarin on macOS",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "XamariniOS@1"
              ]
            },
            {
              "description": "Publish test results to Azure Pipelines",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PublishTestResults@1"
              ]
            },
            {
              "description": "Publish test results to Azure Pipelines",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PublishTestResults@2"
              ]
            },
            {
              "description": "Copy files to Azure Blob Storage or virtual machines",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureFileCopy@1"
              ]
            },
            {
              "description": "Copy files to Azure Blob Storage or virtual machines",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureFileCopy@4"
              ]
            },
            {
              "description": "Copy files to Azure Blob Storage or virtual machines",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureFileCopy@5"
              ]
            },
            {
              "description": "Copy files to Azure Blob Storage or virtual machines",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureFileCopy@2"
              ]
            },
            {
              "description": "Copy files to Azure Blob Storage or virtual machines",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureFileCopy@3"
              ]
            },
            {
              "description": "Index your source code and publish symbols to a file share or Azure Artifacts symbol server",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PublishSymbols@2"
              ]
            },
            {
              "description": "Index your source code and publish symbols to a file share",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PublishSymbols@1"
              ]
            },
            {
              "description": "Copy files or build artifacts to a remote machine over SSH",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "CopyFilesOverSSH@0"
              ]
            },
            {
              "description": "Build using a Gradle wrapper script",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Gradle@2"
              ]
            },
            {
              "description": "Build using a Gradle wrapper script",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Gradle@3"
              ]
            },
            {
              "description": "Build using a Gradle wrapper script",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Gradle@1"
              ]
            },
            {
              "description": "Distribute app builds to testers and users via Visual Studio App Center",
              "deprecationMessage": "AppCenterDistribute is deprecated - Distribute app builds to testers and users via Visual Studio App Center",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "AppCenterDistribute@2"
              ]
            },
            {
              "description": "Distribute app builds to testers and users via Visual Studio App Center",
              "deprecationMessage": "AppCenterDistribute is deprecated - Distribute app builds to testers and users via Visual Studio App Center",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "AppCenterDistribute@1"
              ]
            },
            {
              "description": "Distribute app builds to testers and users via Visual Studio App Center",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AppCenterDistribute@3"
              ]
            },
            {
              "description": "Distribute app builds to testers and users via App Center",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AppCenterDistribute@0"
              ]
            },
            {
              "description": "Acquires a specific version of NuGet from the internet or the tools cache and adds it to the PATH. Use this task to change the version of NuGet used in the NuGet tasks.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "NuGetToolInstaller@0"
              ]
            },
            {
              "description": "Acquires a specific version of NuGet from the internet or the tools cache and adds it to the PATH. Use this task to change the version of NuGet used in the NuGet tasks.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "NuGetToolInstaller@1"
              ]
            },
            {
              "description": "Download artifacts produced by a Jenkins job",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "JenkinsDownloadArtifacts@1"
              ]
            },
            {
              "description": "Update a function app with a Docker container",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureFunctionAppContainer@1"
              ]
            },
            {
              "description": "Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "JavaToolInstallerTestVuln2@0"
              ]
            },
            {
              "description": "Decrypt a file using OpenSSL",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DecryptFile@1"
              ]
            },
            {
              "description": "Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "HelmDeploy@0"
              ]
            },
            {
              "description": "Install an Apple certificate required to build on a macOS agent machine",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "InstallAppleCertificate@2"
              ]
            },
            {
              "description": "Install an Apple certificate required to build on a macOS agent",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "InstallAppleCertificate@1"
              ]
            },
            {
              "description": "Install an Apple certificate required to build on a macOS agent",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "InstallAppleCertificate@0"
              ]
            },
            {
              "description": "Invoke an Azure Function",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureFunction@1"
              ]
            },
            {
              "description": "Invoke Azure function as a part of your process.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureFunction@0"
              ]
            },
            {
              "description": "Downloads a GitHub Release from a repository",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DownloadGitHubRelease@0"
              ]
            },
            {
              "description": "Run shell commands or a script on a remote machine using SSH",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "SSH@0"
              ]
            },
            {
              "description": "Publish a local directory or file as a named artifact for the current pipeline",
              "deprecationMessage": "PublishPipelineArtifact is deprecated - Publish a local directory or file as a named artifact for the current pipeline",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "PublishPipelineArtifact@0"
              ]
            },
            {
              "description": "Publish (upload) a file or directory as a named artifact for the current run",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PublishPipelineArtifact@1"
              ]
            },
            {
              "description": "[DEPRECATED] Fetch the Quality Profile from SonarQube to configure the analysis",
              "deprecationMessage": "SonarQubePreBuild is deprecated - [DEPRECATED] Fetch the Quality Profile from SonarQube to configure the analysis",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "SonarQubePreBuild@1"
              ]
            },
            {
              "description": "Download artifacts from a file share, like \\\\share\\drop",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DownloadFileshareArtifacts@1"
              ]
            },
            {
              "description": "Deploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Kubernetes@0"
              ]
            },
            {
              "description": "Deploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Kubernetes@1"
              ]
            },
            {
              "description": "Build and deploy an Azure IoT Edge image",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureIoTEdge@2"
              ]
            },
            {
              "description": "Deploy a Docker Compose application to an Azure Service Fabric cluster",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "ServiceFabricComposeDeploy@0"
              ]
            },
            {
              "description": "Sign and align Android APK files",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AndroidSigning@2"
              ]
            },
            {
              "description": "Sign and align Android APK files",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AndroidSigning@3"
              ]
            },
            {
              "description": "Sign and align Android APK files",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AndroidSigning@1"
              ]
            },
            {
              "description": "Download a named artifact from a pipeline to a local path",
              "deprecationMessage": "DownloadPipelineArtifact is deprecated - Download a named artifact from a pipeline to a local path",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "DownloadPipelineArtifact@1"
              ]
            },
            {
              "description": "Downloads an artifact associated with a pipeline",
              "deprecationMessage": "DownloadPipelineArtifact is deprecated - Downloads an artifact associated with a pipeline",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "DownloadPipelineArtifact@0"
              ]
            },
            {
              "description": "Download build and pipeline artifacts",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DownloadPipelineArtifact@2"
              ]
            },
            {
              "description": "Use the specified version of Python from the tool cache, optionally adding it to the PATH",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "UsePythonVersion@0"
              ]
            },
            {
              "description": "Run a PowerShell script in the context of an Azure Service Fabric cluster connection",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "ServiceFabricPowerShell@1"
              ]
            },
            {
              "description": "Run tests with Visual Studio test runner",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "VSTest@1"
              ]
            },
            {
              "description": "Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2).",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "VSTest@2"
              ]
            },
            {
              "description": "[PREVIEW] Pause a pipeline run to wait for manual interaction. Works only with YAML pipelines.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "ManualValidation@0"
              ]
            },
            {
              "description": "Build with Apache Ant",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Ant@1"
              ]
            },
            {
              "description": "Deprecated: Instead, use the 'Visual Studio Test' task to run unit and functional tests",
              "deprecationMessage": "DeployVisualStudioTestAgent is deprecated - Deprecated: Instead, use the 'Visual Studio Test' task to run unit and functional tests",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "DeployVisualStudioTestAgent@2"
              ]
            },
            {
              "description": "Deploy and configure Test Agent to run tests on a set of machines",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DeployVisualStudioTestAgent@1"
              ]
            },
            {
              "description": "Create and activate a Conda environment",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "CondaEnvironment@0"
              ]
            },
            {
              "description": "This task is deprecated. Use `conda` directly in script to work with Anaconda environments.",
              "deprecationMessage": "CondaEnvironment is deprecated - This task is deprecated. Use `conda` directly in script to work with Anaconda environments.",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "CondaEnvironment@1"
              ]
            },
            {
              "description": "Run a Windows command or batch script and optionally allow it to change the environment",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "BatchScript@1"
              ]
            },
            {
              "description": "Install npm packages from GitHub.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DownloadGithubNpmPackage@1"
              ]
            },
            {
              "description": "Build with MSBuild and set the Visual Studio version property",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "VSBuild@1"
              ]
            },
            {
              "description": "Download Azure Key Vault secrets",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureKeyVault@2"
              ]
            },
            {
              "description": "Download Azure Key Vault secrets",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureKeyVault@1"
              ]
            },
            {
              "description": "Acquires a specific version of the .NET Core SDK from the internet or the local cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks. Additionally provides proxy support.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "UseDotNet@2"
              ]
            },
            {
              "description": "Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DotNetCoreInstaller@0"
              ]
            },
            {
              "description": "Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH",
              "deprecationMessage": "DotNetCoreInstaller is deprecated - Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "DotNetCoreInstaller@1"
              ]
            },
            {
              "description": "Start, stop, restart, slot swap, slot delete, install site extensions or enable continuous monitoring for an Azure App Service",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureAppServiceManage@0"
              ]
            },
            {
              "description": "Install Azure Func Core Tools",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "FuncToolsInstaller@0"
              ]
            },
            {
              "description": "Replace tokens with variable values in XML or JSON configuration files",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "FileTransform@2"
              ]
            },
            {
              "description": "Replace tokens with variable values in XML or JSON configuration files",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "FileTransform@1"
              ]
            },
            {
              "description": "Extract a variety of archive and compression files such as .7z, .rar, .tar.gz, and .zip",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "ExtractFiles@1"
              ]
            },
            {
              "description": "Build an Android app with Xamarin",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "XamarinAndroid@1"
              ]
            },
            {
              "description": "[DEPRECATED] Use the Copy Files task and the Publish Build Artifacts task instead",
              "deprecationMessage": "CopyPublishBuildArtifacts is deprecated - [DEPRECATED] Use the Copy Files task and the Publish Build Artifacts task instead",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "CopyPublishBuildArtifacts@1"
              ]
            },
            {
              "description": "Download a package from a package management feed in Azure Artifacts",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DownloadPackage@0"
              ]
            },
            {
              "description": "Download a package from a package management feed in Azure Artifacts",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DownloadPackage@1"
              ]
            },
            {
              "description": "Deploy an Azure Resource Manager (ARM) template to all the deployment scopes",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureResourceManagerTemplateDeployment@3"
              ]
            },
            {
              "description": "Deploy, start, stop, delete Azure Resource Groups",
              "deprecationMessage": "AzureResourceGroupDeployment is deprecated - Deploy, start, stop, delete Azure Resource Groups",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "AzureResourceGroupDeployment@1"
              ]
            },
            {
              "description": "Deploy an Azure Resource Manager (ARM) template to a resource group and manage virtual machines",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureResourceGroupDeployment@2"
              ]
            },
            {
              "description": "Invoke REST API as a part of your process.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "InvokeRESTAPI@0"
              ]
            },
            {
              "description": "Invoke a REST API as a part of your pipeline.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "InvokeRESTAPI@1"
              ]
            },
            {
              "description": "Archive files using compression formats such as .7z, .rar, .tar.gz, and .zip.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "ArchiveFiles@1"
              ]
            },
            {
              "description": "Compress files into .7z, .tar.gz, or .zip",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "ArchiveFiles@2"
              ]
            },
            {
              "description": "Write a comment to your Github entity i.e. issue or a Pull Request (PR)",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "GitHubComment@0"
              ]
            },
            {
              "description": "Copy files from source folder to target folder using minimatch patterns (The minimatch patterns will only match file paths, not folder paths)",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "CopyFiles@1"
              ]
            },
            {
              "description": "Copy files from a source folder to a target folder using patterns matching file paths (not folder paths)",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "CopyFiles@2"
              ]
            },
            {
              "description": "Run your scripts and make changes to your Azure Database for MySQL",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureMysqlDeployment@1"
              ]
            },
            {
              "description": "Run an npm command. Use NpmAuthenticate@0 task for latest capabilities.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Npm@0"
              ]
            },
            {
              "description": "Install and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Azure Artifacts.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Npm@1"
              ]
            },
            {
              "description": "[PREVIEW] Build and deploy an Azure Static Web App",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureStaticWebApp@0"
              ]
            },
            {
              "description": "Finds or downloads and caches the specified version spec of Node.js and adds it to the PATH",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "NodeTool@0"
              ]
            },
            {
              "description": "Set up a Node.js environment and add it to the PATH, additionally providing proxy support",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "UseNode@1"
              ]
            },
            {
              "description": "Deploy a SQL Server database using DACPAC",
              "deprecationMessage": "SqlServerDacpacDeployment is deprecated - Deploy a SQL Server database using DACPAC",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "SqlServerDacpacDeployment@1"
              ]
            },
            {
              "description": "Acquire the test platform from nuget.org or the tool cache. Satisfies the ‘vstest’ demand and can be used for running tests and collecting diagnostic data using the Visual Studio Test task.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "VisualStudioTestPlatformInstaller@1"
              ]
            },
            {
              "description": "Sends a message to Azure Service Bus using a service connection (no agent is required)",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PublishToAzureServiceBus@1"
              ]
            },
            {
              "description": "Sends a message to azure service bus using a service connection (no agent required).",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PublishToAzureServiceBus@0"
              ]
            },
            {
              "description": "Use Kubernetes manifest files to deploy to clusters or even bake the manifest files to be used for deployments using Helm charts",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "KubernetesManifest@0"
              ]
            },
            {
              "description": "Use Kubernetes manifest files to deploy to clusters or even bake the manifest files to be used for deployments using Helm charts",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "KubernetesManifest@1"
              ]
            },
            {
              "description": "Download files that were saved as artifacts of a completed build",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DownloadBuildArtifacts@0"
              ]
            },
            {
              "description": "Download files that were saved as artifacts of a completed build",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DownloadBuildArtifacts@1"
              ]
            },
            {
              "description": "Install CocoaPods dependencies for Swift and Objective-C Cocoa projects",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "CocoaPods@0"
              ]
            },
            {
              "description": "Deploy applications to Azure Spring Cloud and manage deployments.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureSpringCloud@0"
              ]
            },
            {
              "description": "Deploy an Azure Web App for Linux or Windows",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureWebApp@1"
              ]
            },
            {
              "description": "Run Azure CLI commands against an Azure subscription in a Shell script when running on Linux agent or Batch script when running on Windows agent.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureCLI@1"
              ]
            },
            {
              "description": "Run a Shell or Batch script with Azure CLI commands against an azure subscription",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureCLI@0"
              ]
            },
            {
              "description": "Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/PowerShell Core/Batch script when running on Windows agent.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureCLI@2"
              ]
            },
            {
              "description": "Create, edit, or delete a GitHub release",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "GitHubRelease@1"
              ]
            },
            {
              "description": "Create, edit, or delete a GitHub release",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "GitHubRelease@0"
              ]
            },
            {
              "description": "Use cURL to upload files with FTP, FTPS, SFTP, HTTP, and more.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "cURLUploader@1"
              ]
            },
            {
              "description": "Use cURL's supported protocols to upload files",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "cURLUploader@2"
              ]
            },
            {
              "description": "Update/Add App settings an Azure Web App for Linux or Windows",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureAppServiceSettings@1"
              ]
            },
            {
              "description": "Download or publish Universal Packages",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "UniversalPackages@0"
              ]
            },
            {
              "description": "Security and compliance assessment for Azure Policy",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzurePolicyCheckGate@0"
              ]
            },
            {
              "description": "Deploy Azure function to Kubernetes cluster.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureFunctionOnKubernetes@0"
              ]
            },
            {
              "description": "Deploy Azure function to Kubernetes cluster.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureFunctionOnKubernetes@1"
              ]
            },
            {
              "description": "Run a Bash script on macOS, Linux, or Windows",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "Bash@3"
              ]
            },
            {
              "description": "Run a shell script using Bash",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "ShellScript@2"
              ]
            },
            {
              "description": "Publish build artifacts to Azure Pipelines or a Windows file share",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "PublishBuildArtifacts@1"
              ]
            },
            {
              "description": "Install an SSH key prior to a build or deployment",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "InstallSSHKey@0"
              ]
            },
            {
              "description": "Deploy a virtual machine scale set image",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureVmssDeployment@0"
              ]
            },
            {
              "description": "Create or update Azure App Service using Azure PowerShell",
              "deprecationMessage": "AzureWebPowerShellDeployment is deprecated - Create or update Azure App Service using Azure PowerShell",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "AzureWebPowerShellDeployment@1"
              ]
            },
            {
              "description": "Deploy an Azure Cloud Service",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "AzureCloudPowerShellDeployment@1"
              ]
            },
            {
              "description": "Authentication task for the cargo client used for installing Cargo crates distribution",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "CargoAuthenticate@0"
              ]
            },
            {
              "description": "Delete folders, or files matching a pattern",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DeleteFiles@1"
              ]
            },
            {
              "description": "Run the gulp Node.js streaming task-based build system",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "gulp@0"
              ]
            },
            {
              "description": "Run the gulp Node.js streaming task-based build system",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "gulp@1"
              ]
            },
            {
              "description": "Run a quick web performance test in the cloud with Azure Pipelines",
              "deprecationMessage": "QuickPerfTest is deprecated - Run a quick web performance test in the cloud with Azure Pipelines",
              "doNotSuggest": true,
              "ignoreCase": "value",
              "enum": [
                "QuickPerfTest@1"
              ]
            },
            {
              "description": "Create or update websites, web apps, virtual directories, or application pools",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "IISWebAppManagementOnMachineGroup@0"
              ]
            },
            {
              "description": "Install Docker CLI on agent machine.",
              "doNotSuggest": false,
              "ignoreCase": "value",
              "enum": [
                "DockerInstaller@0"
              ]
            }
          ]
        },
        "displayName": {
          "type": "string",
          "description": "Human-readable name for the task"
        },
        "name": {
          "type": "string",
          "description": "ID of the task instance",
          "pattern": "^[_A-Za-z0-9]*$"
        },
        "condition": {
          "type": "string",
          "description": "Evaluate this condition expression to determine whether to run this task"
        },
        "continueOnError": {
          "type": "boolean",
          "description": "Continue running the parent job even on failure?"
        },
        "enabled": {
          "type": "string",
          "description": "Run this task when the job runs?"
        },
        "retryCountOnTaskFailure": {
          "type": "integer",
          "description": "Number of retries if the task fails"
        },
        "timeoutInMinutes": {
          "type": "integer",
          "description": "Time to wait for this task to complete before the server kills it"
        },
        "inputs": {
          "type": "object",
          "description": "Task-specific inputs"
        },
        "env": {
          "type": "object",
          "description": "Variables to map into the process's environment"
        }
      },
      "additionalProperties": false,
      "firstProperty": [
        "task"
      ],
      "anyOf": [
        {
          "properties": {
            "task": {
              "description": "PowerShell\n\nRun a PowerShell script",
              "ignoreCase": "value",
              "pattern": "^PowerShell@1$"
            },
            "inputs": {
              "description": "PowerShell inputs",
              "properties": {
                "scriptType": {
                  "description": "Type",
                  "ignoreCase": "all",
                  "enum": [
                    "inlineScript",
                    "filePath"
                  ]
                },
                "scriptName": {
                  "type": "string",
                  "description": "Script Path",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "workingFolder": {
                  "type": "string",
                  "description": "Working folder",
                  "ignoreCase": "key"
                },
                "inlineScript": {
                  "type": "string",
                  "description": "Inline Script",
                  "ignoreCase": "key"
                },
                "failOnStandardError": {
                  "type": "boolean",
                  "description": "Fail on Standard Error",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "PowerShell\n\nRun a PowerShell script on Linux, macOS, or Windows",
              "ignoreCase": "value",
              "pattern": "^PowerShell@2$"
            },
            "inputs": {
              "description": "PowerShell inputs",
              "properties": {
                "targetType": {
                  "description": "Type",
                  "ignoreCase": "all",
                  "enum": [
                    "filePath",
                    "inline"
                  ]
                },
                "filePath": {
                  "type": "string",
                  "description": "Script Path",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "script": {
                  "type": "string",
                  "description": "Script",
                  "ignoreCase": "key"
                },
                "errorActionPreference": {
                  "description": "ErrorActionPreference",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "stop",
                    "continue",
                    "silentlyContinue"
                  ]
                },
                "warningPreference": {
                  "description": "WarningPreference",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "stop",
                    "continue",
                    "silentlyContinue"
                  ]
                },
                "informationPreference": {
                  "description": "InformationPreference",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "stop",
                    "continue",
                    "silentlyContinue"
                  ]
                },
                "verbosePreference": {
                  "description": "VerbosePreference",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "stop",
                    "continue",
                    "silentlyContinue"
                  ]
                },
                "debugPreference": {
                  "description": "DebugPreference",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "stop",
                    "continue",
                    "silentlyContinue"
                  ]
                },
                "progressPreference": {
                  "description": "ProgressPreference",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "stop",
                    "continue",
                    "silentlyContinue"
                  ]
                },
                "failOnStderr": {
                  "type": "boolean",
                  "description": "Fail on Standard Error",
                  "ignoreCase": "key"
                },
                "showWarnings": {
                  "type": "boolean",
                  "description": "Show warnings as Azure DevOps warnings",
                  "ignoreCase": "key"
                },
                "ignoreLASTEXITCODE": {
                  "type": "boolean",
                  "description": "Ignore $LASTEXITCODE",
                  "ignoreCase": "key"
                },
                "pwsh": {
                  "type": "boolean",
                  "description": "Use PowerShell Core",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key"
                },
                "runScriptInSeparateScope": {
                  "type": "boolean",
                  "description": "Run script in the separate scope",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure PowerShell\n\nRun a PowerShell script within an Azure environment",
              "ignoreCase": "value",
              "pattern": "^AzurePowerShell@4$"
            },
            "inputs": {
              "description": "Azure PowerShell inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceNameARM"
                  ]
                },
                "ScriptType": {
                  "description": "Script Type",
                  "ignoreCase": "all",
                  "enum": [
                    "FilePath",
                    "InlineScript"
                  ]
                },
                "ScriptPath": {
                  "type": "string",
                  "description": "Script Path",
                  "ignoreCase": "key"
                },
                "Inline": {
                  "type": "string",
                  "description": "Inline Script",
                  "ignoreCase": "key"
                },
                "ScriptArguments": {
                  "type": "string",
                  "description": "Script Arguments",
                  "ignoreCase": "key"
                },
                "errorActionPreference": {
                  "description": "ErrorActionPreference",
                  "ignoreCase": "all",
                  "enum": [
                    "stop",
                    "continue",
                    "silentlyContinue"
                  ]
                },
                "FailOnStandardError": {
                  "type": "boolean",
                  "description": "Fail on Standard Error",
                  "ignoreCase": "key"
                },
                "RestrictContextToCurrentTask": {
                  "type": "boolean",
                  "description": "Restrict scope of context to current task",
                  "ignoreCase": "key"
                },
                "azurePowerShellVersion": {
                  "description": "Azure PowerShell Version",
                  "ignoreCase": "all",
                  "enum": [
                    "LatestVersion",
                    "OtherVersion"
                  ],
                  "aliases": [
                    "TargetAzurePs"
                  ]
                },
                "preferredAzurePowerShellVersion": {
                  "type": "string",
                  "description": "Preferred Azure PowerShell Version",
                  "ignoreCase": "key",
                  "aliases": [
                    "CustomTargetAzurePs"
                  ]
                },
                "pwsh": {
                  "type": "boolean",
                  "description": "Use PowerShell Core",
                  "ignoreCase": "key"
                },
                "validateScriptSignature": {
                  "type": "boolean",
                  "description": "Validate script signature",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure PowerShell\n\nRun a PowerShell script within an Azure environment",
              "ignoreCase": "value",
              "pattern": "^AzurePowerShell@2$"
            },
            "inputs": {
              "description": "Azure PowerShell inputs",
              "properties": {
                "azureConnectionType": {
                  "description": "Azure Connection Type",
                  "ignoreCase": "all",
                  "enum": [
                    "ConnectedServiceName",
                    "ConnectedServiceNameARM"
                  ],
                  "aliases": [
                    "ConnectedServiceNameSelector"
                  ]
                },
                "azureClassicSubscription": {
                  "type": "string",
                  "description": "Azure Classic Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceNameARM"
                  ]
                },
                "ScriptType": {
                  "description": "Script Type",
                  "ignoreCase": "all",
                  "enum": [
                    "FilePath",
                    "InlineScript"
                  ]
                },
                "ScriptPath": {
                  "type": "string",
                  "description": "Script Path",
                  "ignoreCase": "key"
                },
                "Inline": {
                  "type": "string",
                  "description": "Inline Script",
                  "ignoreCase": "key"
                },
                "ScriptArguments": {
                  "type": "string",
                  "description": "Script Arguments",
                  "ignoreCase": "key"
                },
                "azurePowerShellVersion": {
                  "description": "Azure PowerShell Version",
                  "ignoreCase": "all",
                  "enum": [
                    "LatestVersion",
                    "OtherVersion"
                  ],
                  "aliases": [
                    "TargetAzurePs"
                  ]
                },
                "preferredAzurePowerShellVersion": {
                  "type": "string",
                  "description": "Preferred Azure PowerShell Version",
                  "ignoreCase": "key",
                  "aliases": [
                    "CustomTargetAzurePs"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure PowerShell\n\nRun a PowerShell script within an Azure environment",
              "ignoreCase": "value",
              "pattern": "^AzurePowerShell@5$"
            },
            "inputs": {
              "description": "Azure PowerShell inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceNameARM"
                  ]
                },
                "ScriptType": {
                  "description": "Script Type",
                  "ignoreCase": "all",
                  "enum": [
                    "FilePath",
                    "InlineScript"
                  ]
                },
                "ScriptPath": {
                  "type": "string",
                  "description": "Script Path",
                  "ignoreCase": "key"
                },
                "Inline": {
                  "type": "string",
                  "description": "Inline Script",
                  "ignoreCase": "key"
                },
                "ScriptArguments": {
                  "type": "string",
                  "description": "Script Arguments",
                  "ignoreCase": "key"
                },
                "errorActionPreference": {
                  "description": "ErrorActionPreference",
                  "ignoreCase": "all",
                  "enum": [
                    "stop",
                    "continue",
                    "silentlyContinue"
                  ]
                },
                "FailOnStandardError": {
                  "type": "boolean",
                  "description": "Fail on Standard Error",
                  "ignoreCase": "key"
                },
                "azurePowerShellVersion": {
                  "description": "Azure PowerShell Version",
                  "ignoreCase": "all",
                  "enum": [
                    "LatestVersion",
                    "OtherVersion"
                  ],
                  "aliases": [
                    "TargetAzurePs"
                  ]
                },
                "preferredAzurePowerShellVersion": {
                  "type": "string",
                  "description": "Preferred Azure PowerShell Version",
                  "ignoreCase": "key",
                  "aliases": [
                    "CustomTargetAzurePs"
                  ]
                },
                "pwsh": {
                  "type": "boolean",
                  "description": "Use PowerShell Core",
                  "ignoreCase": "key"
                },
                "validateScriptSignature": {
                  "type": "boolean",
                  "description": "Validate script signature",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure PowerShell\n\nRun a PowerShell script within an Azure environment",
              "ignoreCase": "value",
              "pattern": "^AzurePowerShell@3$"
            },
            "inputs": {
              "description": "Azure PowerShell inputs",
              "properties": {
                "azureConnectionType": {
                  "description": "Azure Connection Type",
                  "ignoreCase": "all",
                  "enum": [
                    "ConnectedServiceName",
                    "ConnectedServiceNameARM"
                  ],
                  "aliases": [
                    "ConnectedServiceNameSelector"
                  ]
                },
                "azureClassicSubscription": {
                  "type": "string",
                  "description": "Azure Classic Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceNameARM"
                  ]
                },
                "ScriptType": {
                  "description": "Script Type",
                  "ignoreCase": "all",
                  "enum": [
                    "FilePath",
                    "InlineScript"
                  ]
                },
                "ScriptPath": {
                  "type": "string",
                  "description": "Script Path",
                  "ignoreCase": "key"
                },
                "Inline": {
                  "type": "string",
                  "description": "Inline Script",
                  "ignoreCase": "key"
                },
                "ScriptArguments": {
                  "type": "string",
                  "description": "Script Arguments",
                  "ignoreCase": "key"
                },
                "errorActionPreference": {
                  "description": "ErrorActionPreference",
                  "ignoreCase": "all",
                  "enum": [
                    "stop",
                    "continue",
                    "silentlyContinue"
                  ]
                },
                "FailOnStandardError": {
                  "type": "boolean",
                  "description": "Fail on Standard Error",
                  "ignoreCase": "key"
                },
                "azurePowerShellVersion": {
                  "description": "Azure PowerShell Version",
                  "ignoreCase": "all",
                  "enum": [
                    "LatestVersion",
                    "OtherVersion"
                  ],
                  "aliases": [
                    "TargetAzurePs"
                  ]
                },
                "preferredAzurePowerShellVersion": {
                  "type": "string",
                  "description": "Preferred Azure PowerShell Version",
                  "ignoreCase": "key",
                  "aliases": [
                    "CustomTargetAzurePs"
                  ]
                },
                "validateScriptSignature": {
                  "type": "boolean",
                  "description": "Validate script signature",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure PowerShell\n\nRun a PowerShell script within an Azure environment",
              "ignoreCase": "value",
              "pattern": "^AzurePowerShell@1$"
            },
            "inputs": {
              "description": "Azure PowerShell inputs",
              "properties": {
                "ConnectedServiceNameSelector": {
                  "description": "Azure Connection Type",
                  "ignoreCase": "all",
                  "enum": [
                    "ConnectedServiceName",
                    "ConnectedServiceNameARM"
                  ]
                },
                "ConnectedServiceName": {
                  "type": "string",
                  "description": "Azure Classic Subscription",
                  "ignoreCase": "key"
                },
                "ConnectedServiceNameARM": {
                  "type": "string",
                  "description": "Azure Subscription",
                  "ignoreCase": "key"
                },
                "ScriptType": {
                  "description": "Script Type",
                  "ignoreCase": "all",
                  "enum": [
                    "FilePath",
                    "InlineScript"
                  ]
                },
                "ScriptPath": {
                  "type": "string",
                  "description": "Script Path",
                  "ignoreCase": "key"
                },
                "Inline": {
                  "type": "string",
                  "description": "Inline Script",
                  "ignoreCase": "key"
                },
                "ScriptArguments": {
                  "type": "string",
                  "description": "Script Arguments",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "MySQL database deploy\n\nRun scripts and make changes to a MySQL Database",
              "ignoreCase": "value",
              "pattern": "^MysqlDeploymentOnMachineGroup@1$"
            },
            "inputs": {
              "description": "MySQL database deploy inputs",
              "properties": {
                "TaskNameSelector": {
                  "description": "Deploy MySql Using",
                  "ignoreCase": "all",
                  "enum": [
                    "SqlTaskFile",
                    "InlineSqlTask"
                  ]
                },
                "SqlFile": {
                  "type": "string",
                  "description": "MySQL Script",
                  "ignoreCase": "key"
                },
                "SqlInline": {
                  "type": "string",
                  "description": "Inline MySQL Script",
                  "ignoreCase": "key"
                },
                "ServerName": {
                  "type": "string",
                  "description": "Host Name",
                  "ignoreCase": "key"
                },
                "DatabaseName": {
                  "type": "string",
                  "description": "Database Name",
                  "ignoreCase": "key"
                },
                "SqlUsername": {
                  "type": "string",
                  "description": "Mysql User Name",
                  "ignoreCase": "key"
                },
                "SqlPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "SqlAdditionalArguments": {
                  "type": "string",
                  "description": "Additional Arguments",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "SqlUsername",
                "SqlPassword"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Python pip authenticate\n\nAuthentication task for the pip client used for installing Python distributions",
              "ignoreCase": "value",
              "pattern": "^PipAuthenticate@1$"
            },
            "inputs": {
              "description": "Python pip authenticate inputs",
              "properties": {
                "artifactFeeds": {
                  "type": "string",
                  "description": "My feeds (select below)",
                  "ignoreCase": "key",
                  "aliases": [
                    "artifactFeeds"
                  ]
                },
                "pythonDownloadServiceConnections": {
                  "type": "string",
                  "description": "Feeds from external organizations",
                  "ignoreCase": "key",
                  "aliases": [
                    "pythonDownloadServiceConnections"
                  ]
                },
                "onlyAddExtraIndex": {
                  "type": "boolean",
                  "description": "Don't set primary index URL",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Python pip authenticate\n\nAuthentication task for the pip client used for installing Python distributions",
              "ignoreCase": "value",
              "pattern": "^PipAuthenticate@0$"
            },
            "inputs": {
              "description": "Python pip authenticate inputs",
              "properties": {
                "artifactFeeds": {
                  "type": "string",
                  "description": "My feeds (select below)",
                  "ignoreCase": "key",
                  "aliases": [
                    "feedList"
                  ]
                },
                "externalFeeds": {
                  "type": "string",
                  "description": "Feeds from external organizations",
                  "ignoreCase": "key",
                  "aliases": [
                    "externalSources"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Maven\n\nBuild, test, and deploy with Apache Maven",
              "ignoreCase": "value",
              "pattern": "^Maven@4$"
            },
            "inputs": {
              "description": "Maven inputs",
              "properties": {
                "mavenPomFile": {
                  "type": "string",
                  "description": "Maven POM file",
                  "ignoreCase": "key",
                  "aliases": [
                    "mavenPOMFile"
                  ]
                },
                "goals": {
                  "type": "string",
                  "description": "Goal(s)",
                  "ignoreCase": "key"
                },
                "options": {
                  "type": "string",
                  "description": "Options",
                  "ignoreCase": "key"
                },
                "publishJUnitResults": {
                  "type": "boolean",
                  "description": "Publish to Azure Pipelines",
                  "ignoreCase": "key"
                },
                "testResultsFiles": {
                  "type": "string",
                  "description": "Test results files",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test run title",
                  "ignoreCase": "key"
                },
                "allowBrokenSymlinks": {
                  "type": "boolean",
                  "description": "Allow broken symbolic links",
                  "ignoreCase": "key",
                  "aliases": [
                    "allowBrokenSymbolicLinks"
                  ]
                },
                "codeCoverageToolOption": {
                  "description": "Code coverage tool",
                  "ignoreCase": "all",
                  "enum": [
                    "None",
                    "Cobertura",
                    "JaCoCo"
                  ],
                  "aliases": [
                    "codeCoverageTool"
                  ]
                },
                "codeCoverageClassFilter": {
                  "type": "string",
                  "description": "Class inclusion/exclusion filters",
                  "ignoreCase": "key",
                  "aliases": [
                    "classFilter"
                  ]
                },
                "codeCoverageClassFilesDirectories": {
                  "type": "string",
                  "description": "Class files directories",
                  "ignoreCase": "key",
                  "aliases": [
                    "classFilesDirectories"
                  ]
                },
                "codeCoverageSourceDirectories": {
                  "type": "string",
                  "description": "Source files directories",
                  "ignoreCase": "key",
                  "aliases": [
                    "srcDirectories"
                  ]
                },
                "codeCoverageFailIfEmpty": {
                  "type": "boolean",
                  "description": "Fail when code coverage results are missing",
                  "ignoreCase": "key",
                  "aliases": [
                    "failIfCoverageEmpty"
                  ]
                },
                "codeCoverageRestoreOriginalPomXml": {
                  "type": "boolean",
                  "description": "Restore original pom.xml after task execution",
                  "ignoreCase": "key",
                  "aliases": [
                    "restoreOriginalPomXml"
                  ]
                },
                "javaHomeOption": {
                  "description": "Set JAVA_HOME by",
                  "ignoreCase": "all",
                  "enum": [
                    "JDKVersion",
                    "Path"
                  ],
                  "aliases": [
                    "javaHomeSelection"
                  ]
                },
                "jdkVersionOption": {
                  "description": "JDK version",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "1.17",
                    "1.11",
                    "1.10",
                    "1.9",
                    "1.8",
                    "1.7",
                    "1.6"
                  ],
                  "aliases": [
                    "jdkVersion"
                  ]
                },
                "jdkDirectory": {
                  "type": "string",
                  "description": "JDK path",
                  "ignoreCase": "key",
                  "aliases": [
                    "jdkUserInputPath"
                  ]
                },
                "jdkArchitectureOption": {
                  "description": "JDK architecture",
                  "ignoreCase": "all",
                  "enum": [
                    "x86",
                    "x64"
                  ],
                  "aliases": [
                    "jdkArchitecture"
                  ]
                },
                "mavenVersionOption": {
                  "description": "Maven version",
                  "ignoreCase": "all",
                  "enum": [
                    "Default",
                    "Path"
                  ],
                  "aliases": [
                    "mavenVersionSelection"
                  ]
                },
                "mavenDirectory": {
                  "type": "string",
                  "description": "Maven path",
                  "ignoreCase": "key",
                  "aliases": [
                    "mavenPath"
                  ]
                },
                "mavenSetM2Home": {
                  "type": "boolean",
                  "description": "Set M2_HOME variable",
                  "ignoreCase": "key"
                },
                "mavenOptions": {
                  "type": "string",
                  "description": "Set MAVEN_OPTS to",
                  "ignoreCase": "key",
                  "aliases": [
                    "mavenOpts"
                  ]
                },
                "mavenAuthenticateFeed": {
                  "type": "boolean",
                  "description": "Authenticate built-in Maven feeds",
                  "ignoreCase": "key",
                  "aliases": [
                    "mavenFeedAuthenticate"
                  ]
                },
                "effectivePomSkip": {
                  "type": "boolean",
                  "description": "Skip generating effective POM while authenticating built-in feeds",
                  "ignoreCase": "key",
                  "aliases": [
                    "skipEffectivePom"
                  ]
                },
                "sonarQubeRunAnalysis": {
                  "type": "boolean",
                  "description": "Run SonarQube or SonarCloud analysis",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqAnalysisEnabled"
                  ]
                },
                "isJacocoCoverageReportXML": {
                  "type": "boolean",
                  "description": "Use XML Jacoco reports for SonarQube analysis",
                  "ignoreCase": "key"
                },
                "sqMavenPluginVersionChoice": {
                  "description": "SonarQube scanner for Maven version",
                  "ignoreCase": "all",
                  "enum": [
                    "latest",
                    "pom"
                  ]
                },
                "checkStyleRunAnalysis": {
                  "type": "boolean",
                  "description": "Run Checkstyle",
                  "ignoreCase": "key",
                  "aliases": [
                    "checkstyleAnalysisEnabled"
                  ]
                },
                "pmdRunAnalysis": {
                  "type": "boolean",
                  "description": "Run PMD",
                  "ignoreCase": "key",
                  "aliases": [
                    "pmdAnalysisEnabled"
                  ]
                },
                "findBugsRunAnalysis": {
                  "type": "boolean",
                  "description": "Run FindBugs",
                  "ignoreCase": "key",
                  "aliases": [
                    "findbugsAnalysisEnabled"
                  ]
                },
                "spotBugsRunAnalysis": {
                  "type": "boolean",
                  "description": "Run SpotBugs analysis",
                  "ignoreCase": "key",
                  "aliases": [
                    "spotBugsAnalysisEnabled"
                  ]
                },
                "spotBugsVersion": {
                  "type": "string",
                  "description": "Version number",
                  "ignoreCase": "key",
                  "aliases": [
                    "spotBugsMavenPluginVersion"
                  ]
                },
                "spotBugsGoal": {
                  "description": "The goal for the spotbugs plugin",
                  "ignoreCase": "all",
                  "enum": [
                    "spotbugs",
                    "check"
                  ]
                },
                "failWhenBugsFound": {
                  "type": "boolean",
                  "description": "Fail when bugs are found with spotbugs:check",
                  "ignoreCase": "key",
                  "aliases": [
                    "spotBugsFailWhenBugsFound",
                    "sbFailWhenBugsFound"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Maven\n\nBuild, test, and deploy with Apache Maven",
              "ignoreCase": "value",
              "pattern": "^Maven@3$"
            },
            "inputs": {
              "description": "Maven inputs",
              "properties": {
                "mavenPomFile": {
                  "type": "string",
                  "description": "Maven POM file",
                  "ignoreCase": "key",
                  "aliases": [
                    "mavenPOMFile"
                  ]
                },
                "goals": {
                  "type": "string",
                  "description": "Goal(s)",
                  "ignoreCase": "key"
                },
                "options": {
                  "type": "string",
                  "description": "Options",
                  "ignoreCase": "key"
                },
                "publishJUnitResults": {
                  "type": "boolean",
                  "description": "Publish to Azure Pipelines",
                  "ignoreCase": "key"
                },
                "testResultsFiles": {
                  "type": "string",
                  "description": "Test results files",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test run title",
                  "ignoreCase": "key"
                },
                "allowBrokenSymlinks": {
                  "type": "boolean",
                  "description": "Allow broken symbolic links",
                  "ignoreCase": "key",
                  "aliases": [
                    "allowBrokenSymbolicLinks"
                  ]
                },
                "codeCoverageToolOption": {
                  "description": "Code coverage tool",
                  "ignoreCase": "all",
                  "enum": [
                    "None",
                    "Cobertura",
                    "JaCoCo"
                  ],
                  "aliases": [
                    "codeCoverageTool"
                  ]
                },
                "codeCoverageClassFilter": {
                  "type": "string",
                  "description": "Class inclusion/exclusion filters",
                  "ignoreCase": "key",
                  "aliases": [
                    "classFilter"
                  ]
                },
                "codeCoverageClassFilesDirectories": {
                  "type": "string",
                  "description": "Class files directories",
                  "ignoreCase": "key",
                  "aliases": [
                    "classFilesDirectories"
                  ]
                },
                "codeCoverageSourceDirectories": {
                  "type": "string",
                  "description": "Source files directories",
                  "ignoreCase": "key",
                  "aliases": [
                    "srcDirectories"
                  ]
                },
                "codeCoverageFailIfEmpty": {
                  "type": "boolean",
                  "description": "Fail when code coverage results are missing",
                  "ignoreCase": "key",
                  "aliases": [
                    "failIfCoverageEmpty"
                  ]
                },
                "codeCoverageRestoreOriginalPomXml": {
                  "type": "boolean",
                  "description": "Restore original pom.xml after task execution",
                  "ignoreCase": "key",
                  "aliases": [
                    "restoreOriginalPomXml"
                  ]
                },
                "javaHomeOption": {
                  "description": "Set JAVA_HOME by",
                  "ignoreCase": "all",
                  "enum": [
                    "JDKVersion",
                    "Path"
                  ],
                  "aliases": [
                    "javaHomeSelection"
                  ]
                },
                "jdkVersionOption": {
                  "description": "JDK version",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "1.17",
                    "1.11",
                    "1.10",
                    "1.9",
                    "1.8",
                    "1.7",
                    "1.6"
                  ],
                  "aliases": [
                    "jdkVersion"
                  ]
                },
                "jdkDirectory": {
                  "type": "string",
                  "description": "JDK path",
                  "ignoreCase": "key",
                  "aliases": [
                    "jdkUserInputPath"
                  ]
                },
                "jdkArchitectureOption": {
                  "description": "JDK architecture",
                  "ignoreCase": "all",
                  "enum": [
                    "x86",
                    "x64"
                  ],
                  "aliases": [
                    "jdkArchitecture"
                  ]
                },
                "mavenVersionOption": {
                  "description": "Maven version",
                  "ignoreCase": "all",
                  "enum": [
                    "Default",
                    "Path"
                  ],
                  "aliases": [
                    "mavenVersionSelection"
                  ]
                },
                "mavenDirectory": {
                  "type": "string",
                  "description": "Maven path",
                  "ignoreCase": "key",
                  "aliases": [
                    "mavenPath"
                  ]
                },
                "mavenSetM2Home": {
                  "type": "boolean",
                  "description": "Set M2_HOME variable",
                  "ignoreCase": "key"
                },
                "mavenOptions": {
                  "type": "string",
                  "description": "Set MAVEN_OPTS to",
                  "ignoreCase": "key",
                  "aliases": [
                    "mavenOpts"
                  ]
                },
                "mavenAuthenticateFeed": {
                  "type": "boolean",
                  "description": "Authenticate built-in Maven feeds",
                  "ignoreCase": "key",
                  "aliases": [
                    "mavenFeedAuthenticate"
                  ]
                },
                "effectivePomSkip": {
                  "type": "boolean",
                  "description": "Skip generating effective POM while authenticating built-in feeds",
                  "ignoreCase": "key",
                  "aliases": [
                    "skipEffectivePom"
                  ]
                },
                "sonarQubeRunAnalysis": {
                  "type": "boolean",
                  "description": "Run SonarQube or SonarCloud analysis",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqAnalysisEnabled"
                  ]
                },
                "isJacocoCoverageReportXML": {
                  "type": "boolean",
                  "description": "Use XML Jacoco reports for SonarQube analysis",
                  "ignoreCase": "key"
                },
                "sqMavenPluginVersionChoice": {
                  "description": "SonarQube scanner for Maven version",
                  "ignoreCase": "all",
                  "enum": [
                    "latest",
                    "pom"
                  ]
                },
                "checkStyleRunAnalysis": {
                  "type": "boolean",
                  "description": "Run Checkstyle",
                  "ignoreCase": "key",
                  "aliases": [
                    "checkstyleAnalysisEnabled"
                  ]
                },
                "pmdRunAnalysis": {
                  "type": "boolean",
                  "description": "Run PMD",
                  "ignoreCase": "key",
                  "aliases": [
                    "pmdAnalysisEnabled"
                  ]
                },
                "findBugsRunAnalysis": {
                  "type": "boolean",
                  "description": "Run FindBugs",
                  "ignoreCase": "key",
                  "aliases": [
                    "findbugsAnalysisEnabled"
                  ]
                },
                "spotBugsRunAnalysis": {
                  "type": "boolean",
                  "description": "Run SpotBugs analysis",
                  "ignoreCase": "key",
                  "aliases": [
                    "spotBugsAnalysisEnabled"
                  ]
                },
                "spotBugsVersion": {
                  "type": "string",
                  "description": "Version number",
                  "ignoreCase": "key",
                  "aliases": [
                    "spotBugsMavenPluginVersion"
                  ]
                },
                "spotBugsGoal": {
                  "description": "The goal for the spotbugs plugin",
                  "ignoreCase": "all",
                  "enum": [
                    "spotbugs",
                    "check"
                  ]
                },
                "failWhenBugsFound": {
                  "type": "boolean",
                  "description": "Fail when bugs are found with spotbugs:check",
                  "ignoreCase": "key",
                  "aliases": [
                    "spotBugsFailWhenBugsFound",
                    "sbFailWhenBugsFound"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Maven\n\nBuild, test, and deploy with Apache Maven",
              "ignoreCase": "value",
              "pattern": "^Maven@2$"
            },
            "inputs": {
              "description": "Maven inputs",
              "properties": {
                "mavenPomFile": {
                  "type": "string",
                  "description": "Maven POM file",
                  "ignoreCase": "key",
                  "aliases": [
                    "mavenPOMFile"
                  ]
                },
                "goals": {
                  "type": "string",
                  "description": "Goal(s)",
                  "ignoreCase": "key"
                },
                "options": {
                  "type": "string",
                  "description": "Options",
                  "ignoreCase": "key"
                },
                "publishJUnitResults": {
                  "type": "boolean",
                  "description": "Publish to Azure Pipelines",
                  "ignoreCase": "key"
                },
                "testResultsFiles": {
                  "type": "string",
                  "description": "Test results files",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test run title",
                  "ignoreCase": "key"
                },
                "allowBrokenSymlinks": {
                  "type": "boolean",
                  "description": "Allow broken symbolic links",
                  "ignoreCase": "key",
                  "aliases": [
                    "allowBrokenSymbolicLinks"
                  ]
                },
                "codeCoverageToolOption": {
                  "description": "Code coverage tool",
                  "ignoreCase": "all",
                  "enum": [
                    "None",
                    "Cobertura",
                    "JaCoCo"
                  ],
                  "aliases": [
                    "codeCoverageTool"
                  ]
                },
                "codeCoverageClassFilter": {
                  "type": "string",
                  "description": "Class inclusion/exclusion filters",
                  "ignoreCase": "key",
                  "aliases": [
                    "classFilter"
                  ]
                },
                "codeCoverageClassFilesDirectories": {
                  "type": "string",
                  "description": "Class files directories",
                  "ignoreCase": "key",
                  "aliases": [
                    "classFilesDirectories"
                  ]
                },
                "codeCoverageSourceDirectories": {
                  "type": "string",
                  "description": "Source files directories",
                  "ignoreCase": "key",
                  "aliases": [
                    "srcDirectories"
                  ]
                },
                "codeCoverageFailIfEmpty": {
                  "type": "boolean",
                  "description": "Fail when code coverage results are missing",
                  "ignoreCase": "key",
                  "aliases": [
                    "failIfCoverageEmpty"
                  ]
                },
                "codeCoverageRestoreOriginalPomXml": {
                  "type": "boolean",
                  "description": "Restore original pom.xml after task execution",
                  "ignoreCase": "key",
                  "aliases": [
                    "restoreOriginalPomXml"
                  ]
                },
                "javaHomeOption": {
                  "description": "Set JAVA_HOME by",
                  "ignoreCase": "all",
                  "enum": [
                    "JDKVersion",
                    "Path"
                  ],
                  "aliases": [
                    "javaHomeSelection"
                  ]
                },
                "jdkVersionOption": {
                  "description": "JDK version",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "1.17",
                    "1.11",
                    "1.10",
                    "1.9",
                    "1.8",
                    "1.7",
                    "1.6"
                  ],
                  "aliases": [
                    "jdkVersion"
                  ]
                },
                "jdkDirectory": {
                  "type": "string",
                  "description": "JDK path",
                  "ignoreCase": "key",
                  "aliases": [
                    "jdkUserInputPath"
                  ]
                },
                "jdkArchitectureOption": {
                  "description": "JDK architecture",
                  "ignoreCase": "all",
                  "enum": [
                    "x86",
                    "x64"
                  ],
                  "aliases": [
                    "jdkArchitecture"
                  ]
                },
                "mavenVersionOption": {
                  "description": "Maven version",
                  "ignoreCase": "all",
                  "enum": [
                    "Default",
                    "Path"
                  ],
                  "aliases": [
                    "mavenVersionSelection"
                  ]
                },
                "mavenDirectory": {
                  "type": "string",
                  "description": "Maven path",
                  "ignoreCase": "key",
                  "aliases": [
                    "mavenPath"
                  ]
                },
                "mavenSetM2Home": {
                  "type": "boolean",
                  "description": "Set M2_HOME variable",
                  "ignoreCase": "key"
                },
                "mavenOptions": {
                  "type": "string",
                  "description": "Set MAVEN_OPTS to",
                  "ignoreCase": "key",
                  "aliases": [
                    "mavenOpts"
                  ]
                },
                "mavenAuthenticateFeed": {
                  "type": "boolean",
                  "description": "Authenticate built-in Maven feeds",
                  "ignoreCase": "key",
                  "aliases": [
                    "mavenFeedAuthenticate"
                  ]
                },
                "sonarQubeRunAnalysis": {
                  "type": "boolean",
                  "description": "Run SonarQube or SonarCloud analysis",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqAnalysisEnabled"
                  ]
                },
                "isJacocoCoverageReportXML": {
                  "type": "boolean",
                  "description": "Use XML Jacoco reports for SonarQube analysis",
                  "ignoreCase": "key"
                },
                "sqMavenPluginVersionChoice": {
                  "description": "SonarQube scanner for Maven version",
                  "ignoreCase": "all",
                  "enum": [
                    "latest",
                    "pom"
                  ]
                },
                "checkStyleRunAnalysis": {
                  "type": "boolean",
                  "description": "Run Checkstyle",
                  "ignoreCase": "key",
                  "aliases": [
                    "checkstyleAnalysisEnabled"
                  ]
                },
                "pmdRunAnalysis": {
                  "type": "boolean",
                  "description": "Run PMD",
                  "ignoreCase": "key",
                  "aliases": [
                    "pmdAnalysisEnabled"
                  ]
                },
                "findBugsRunAnalysis": {
                  "type": "boolean",
                  "description": "Run FindBugs",
                  "ignoreCase": "key",
                  "aliases": [
                    "findbugsAnalysisEnabled"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Maven\n\nBuild with Apache Maven",
              "ignoreCase": "value",
              "pattern": "^Maven@1$"
            },
            "inputs": {
              "description": "Maven inputs",
              "properties": {
                "mavenPomFile": {
                  "type": "string",
                  "description": "Maven POM file",
                  "ignoreCase": "key",
                  "aliases": [
                    "mavenPOMFile"
                  ]
                },
                "goals": {
                  "type": "string",
                  "description": "Goal(s)",
                  "ignoreCase": "key"
                },
                "options": {
                  "type": "string",
                  "description": "Options",
                  "ignoreCase": "key"
                },
                "publishJUnitResults": {
                  "type": "boolean",
                  "description": "Publish to TFS/Team Services",
                  "ignoreCase": "key"
                },
                "testResultsFiles": {
                  "type": "string",
                  "description": "Test Results Files",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test Run Title",
                  "ignoreCase": "key"
                },
                "codeCoverageToolOption": {
                  "description": "Code Coverage Tool",
                  "ignoreCase": "all",
                  "enum": [
                    "None",
                    "Cobertura",
                    "JaCoCo"
                  ],
                  "aliases": [
                    "codeCoverageTool"
                  ]
                },
                "codeCoverageClassFilter": {
                  "type": "string",
                  "description": "Class Inclusion/Exclusion Filters",
                  "ignoreCase": "key",
                  "aliases": [
                    "classFilter"
                  ]
                },
                "codeCoverageClassFilesDirectories": {
                  "type": "string",
                  "description": "Class Files Directories",
                  "ignoreCase": "key",
                  "aliases": [
                    "classFilesDirectories"
                  ]
                },
                "codeCoverageSourceDirectories": {
                  "type": "string",
                  "description": "Source Files Directories",
                  "ignoreCase": "key",
                  "aliases": [
                    "srcDirectories"
                  ]
                },
                "codeCoverageFailIfEmpty": {
                  "type": "boolean",
                  "description": "Fail When Code Coverage Results Are Missing",
                  "ignoreCase": "key",
                  "aliases": [
                    "failIfCoverageEmpty"
                  ]
                },
                "javaHomeOption": {
                  "description": "Set JAVA_HOME by",
                  "ignoreCase": "all",
                  "enum": [
                    "JDKVersion",
                    "Path"
                  ],
                  "aliases": [
                    "javaHomeSelection"
                  ]
                },
                "jdkVersionOption": {
                  "description": "JDK Version",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "1.9",
                    "1.8",
                    "1.7",
                    "1.6"
                  ],
                  "aliases": [
                    "jdkVersion"
                  ]
                },
                "jdkDirectory": {
                  "type": "string",
                  "description": "JDK Path",
                  "ignoreCase": "key",
                  "aliases": [
                    "jdkUserInputPath"
                  ]
                },
                "jdkArchitectureOption": {
                  "description": "JDK Architecture",
                  "ignoreCase": "all",
                  "enum": [
                    "x86",
                    "x64"
                  ],
                  "aliases": [
                    "jdkArchitecture"
                  ]
                },
                "mavenVersionOption": {
                  "description": "Maven Version",
                  "ignoreCase": "all",
                  "enum": [
                    "Default",
                    "Path"
                  ],
                  "aliases": [
                    "mavenVersionSelection"
                  ]
                },
                "mavenDirectory": {
                  "type": "string",
                  "description": "Maven Path",
                  "ignoreCase": "key",
                  "aliases": [
                    "mavenPath"
                  ]
                },
                "mavenSetM2Home": {
                  "type": "boolean",
                  "description": "Set M2_HOME variable",
                  "ignoreCase": "key"
                },
                "mavenOptions": {
                  "type": "string",
                  "description": "Set MAVEN_OPTS to",
                  "ignoreCase": "key",
                  "aliases": [
                    "mavenOpts"
                  ]
                },
                "mavenAuthenticateFeed": {
                  "type": "boolean",
                  "description": "Authenticate built-in Maven feeds",
                  "ignoreCase": "key",
                  "aliases": [
                    "mavenFeedAuthenticate"
                  ]
                },
                "sonarQubeRunAnalysis": {
                  "type": "boolean",
                  "description": "Run SonarQube Analysis",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqAnalysisEnabled"
                  ]
                },
                "sonarQubeServiceEndpoint": {
                  "type": "string",
                  "description": "SonarQube Endpoint",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqConnectedServiceName"
                  ]
                },
                "sonarQubeProjectName": {
                  "type": "string",
                  "description": "SonarQube Project Name",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqProjectName"
                  ]
                },
                "sonarQubeProjectKey": {
                  "type": "string",
                  "description": "SonarQube Project Key",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqProjectKey"
                  ]
                },
                "sonarQubeProjectVersion": {
                  "type": "string",
                  "description": "SonarQube Project Version",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqProjectVersion"
                  ]
                },
                "sonarQubeSpecifyDB": {
                  "type": "boolean",
                  "description": "The SonarQube server version is lower than 5.2",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqDbDetailsRequired"
                  ]
                },
                "sonarQubeDBUrl": {
                  "type": "string",
                  "description": "Db Connection String",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqDbUrl"
                  ]
                },
                "sonarQubeDBUsername": {
                  "type": "string",
                  "description": "Db Username",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqDbUsername"
                  ]
                },
                "sonarQubeDBPassword": {
                  "type": "string",
                  "description": "Db User Password",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqDbPassword"
                  ]
                },
                "sonarQubeIncludeFullReport": {
                  "type": "boolean",
                  "description": "Include full analysis report in the build summary (SQ 5.3+)",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqAnalysisIncludeFullReport"
                  ]
                },
                "sonarQubeFailWhenQualityGateFails": {
                  "type": "boolean",
                  "description": "Fail the build on quality gate failure (SQ 5.3+)",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqAnalysisBreakBuildIfQualityGateFailed"
                  ]
                },
                "checkStyleRunAnalysis": {
                  "type": "boolean",
                  "description": "Run Checkstyle",
                  "ignoreCase": "key",
                  "aliases": [
                    "checkstyleAnalysisEnabled"
                  ]
                },
                "pmdRunAnalysis": {
                  "type": "boolean",
                  "description": "Run PMD",
                  "ignoreCase": "key",
                  "aliases": [
                    "pmdAnalysisEnabled"
                  ]
                },
                "findBugsRunAnalysis": {
                  "type": "boolean",
                  "description": "Run FindBugs",
                  "ignoreCase": "key",
                  "aliases": [
                    "findbugsAnalysisEnabled"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": ".NET Core (PREVIEW)\n\nBuild, test and publish using dotnet core command-line.",
              "ignoreCase": "value",
              "pattern": "^DotNetCoreCLI@0$"
            },
            "inputs": {
              "description": ".NET Core (PREVIEW) inputs",
              "properties": {
                "command": {
                  "description": "Command",
                  "ignoreCase": "all",
                  "enum": [
                    "build",
                    "publish",
                    "restore",
                    "test",
                    "run"
                  ]
                },
                "publishWebProjects": {
                  "type": "boolean",
                  "description": "Publish Web Projects",
                  "ignoreCase": "key"
                },
                "projects": {
                  "type": "string",
                  "description": "Project(s)",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "zipAfterPublish": {
                  "type": "boolean",
                  "description": "Zip Published Projects",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "deprecationMessage": "DotNetCoreCLI is deprecated - Build, test and publish using dotnet core command-line.",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": ".NET Core\n\nBuild, test, package, or publish a dotnet application, or run a custom dotnet command",
              "ignoreCase": "value",
              "pattern": "^DotNetCoreCLI@2$"
            },
            "inputs": {
              "description": ".NET Core inputs",
              "properties": {
                "command": {
                  "description": "Command",
                  "ignoreCase": "all",
                  "enum": [
                    "build",
                    "push",
                    "pack",
                    "publish",
                    "restore",
                    "run",
                    "test",
                    "custom"
                  ]
                },
                "publishWebProjects": {
                  "type": "boolean",
                  "description": "Publish web projects",
                  "ignoreCase": "key"
                },
                "projects": {
                  "type": "string",
                  "description": "Path to project(s)",
                  "ignoreCase": "key"
                },
                "custom": {
                  "type": "string",
                  "description": "Custom command",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "restoreArguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "publishTestResults": {
                  "type": "boolean",
                  "description": "Publish test results and code coverage",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test run title",
                  "ignoreCase": "key"
                },
                "zipAfterPublish": {
                  "type": "boolean",
                  "description": "Zip published projects",
                  "ignoreCase": "key"
                },
                "modifyOutputPath": {
                  "type": "boolean",
                  "description": "Add project's folder name to publish path",
                  "ignoreCase": "key"
                },
                "feedsToUse": {
                  "description": "Feeds to use",
                  "ignoreCase": "all",
                  "enum": [
                    "select",
                    "config"
                  ],
                  "aliases": [
                    "selectOrConfig"
                  ]
                },
                "vstsFeed": {
                  "type": "string",
                  "description": "Use packages from this Azure Artifacts feed",
                  "ignoreCase": "key",
                  "aliases": [
                    "feedRestore"
                  ]
                },
                "includeNuGetOrg": {
                  "type": "boolean",
                  "description": "Use packages from NuGet.org",
                  "ignoreCase": "key"
                },
                "nugetConfigPath": {
                  "type": "string",
                  "description": "Path to NuGet.config",
                  "ignoreCase": "key"
                },
                "externalFeedCredentials": {
                  "type": "string",
                  "description": "Credentials for feeds outside this organization/collection",
                  "ignoreCase": "key",
                  "aliases": [
                    "externalEndpoints"
                  ]
                },
                "noCache": {
                  "type": "boolean",
                  "description": "Disable local cache",
                  "ignoreCase": "key"
                },
                "restoreDirectory": {
                  "type": "string",
                  "description": "Destination directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "packagesDirectory"
                  ]
                },
                "verbosityRestore": {
                  "description": "Verbosity",
                  "ignoreCase": "all",
                  "enum": [
                    "-",
                    "Quiet",
                    "Minimal",
                    "Normal",
                    "Detailed",
                    "Diagnostic"
                  ]
                },
                "packagesToPush": {
                  "type": "string",
                  "description": "Path to NuGet package(s) to publish",
                  "ignoreCase": "key",
                  "aliases": [
                    "searchPatternPush"
                  ]
                },
                "nuGetFeedType": {
                  "description": "Target feed location",
                  "ignoreCase": "all",
                  "enum": [
                    "internal",
                    "external"
                  ]
                },
                "publishVstsFeed": {
                  "type": "string",
                  "description": "Target feed",
                  "ignoreCase": "key",
                  "aliases": [
                    "feedPublish"
                  ]
                },
                "publishPackageMetadata": {
                  "type": "boolean",
                  "description": "Publish pipeline metadata",
                  "ignoreCase": "key"
                },
                "publishFeedCredentials": {
                  "type": "string",
                  "description": "NuGet server",
                  "ignoreCase": "key",
                  "aliases": [
                    "externalEndpoint"
                  ]
                },
                "packagesToPack": {
                  "type": "string",
                  "description": "Path to csproj or nuspec file(s) to pack",
                  "ignoreCase": "key",
                  "aliases": [
                    "searchPatternPack"
                  ]
                },
                "configuration": {
                  "type": "string",
                  "description": "Configuration to Package",
                  "ignoreCase": "key",
                  "aliases": [
                    "configurationToPack"
                  ]
                },
                "packDirectory": {
                  "type": "string",
                  "description": "Package Folder",
                  "ignoreCase": "key",
                  "aliases": [
                    "outputDir"
                  ]
                },
                "nobuild": {
                  "type": "boolean",
                  "description": "Do not build",
                  "ignoreCase": "key"
                },
                "includesymbols": {
                  "type": "boolean",
                  "description": "Include Symbols",
                  "ignoreCase": "key"
                },
                "includesource": {
                  "type": "boolean",
                  "description": "Include Source",
                  "ignoreCase": "key"
                },
                "versioningScheme": {
                  "description": "Automatic package versioning",
                  "ignoreCase": "all",
                  "enum": [
                    "off",
                    "byPrereleaseNumber",
                    "byEnvVar",
                    "byBuildNumber"
                  ]
                },
                "versionEnvVar": {
                  "type": "string",
                  "description": "Environment variable",
                  "ignoreCase": "key"
                },
                "majorVersion": {
                  "type": "string",
                  "description": "Major",
                  "ignoreCase": "key",
                  "aliases": [
                    "requestedMajorVersion"
                  ]
                },
                "minorVersion": {
                  "type": "string",
                  "description": "Minor",
                  "ignoreCase": "key",
                  "aliases": [
                    "requestedMinorVersion"
                  ]
                },
                "patchVersion": {
                  "type": "string",
                  "description": "Patch",
                  "ignoreCase": "key",
                  "aliases": [
                    "requestedPatchVersion"
                  ]
                },
                "buildProperties": {
                  "type": "string",
                  "description": "Additional build properties",
                  "ignoreCase": "key"
                },
                "verbosityPack": {
                  "description": "Verbosity",
                  "ignoreCase": "all",
                  "enum": [
                    "-",
                    "Quiet",
                    "Minimal",
                    "Normal",
                    "Detailed",
                    "Diagnostic"
                  ]
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working directory",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": ".NET Core\n\nBuild, test and publish using dotnet core command-line.",
              "ignoreCase": "value",
              "pattern": "^DotNetCoreCLI@1$"
            },
            "inputs": {
              "description": ".NET Core inputs",
              "properties": {
                "command": {
                  "description": "Command",
                  "ignoreCase": "all",
                  "enum": [
                    "build",
                    "publish",
                    "restore",
                    "test",
                    "run"
                  ]
                },
                "publishWebProjects": {
                  "type": "boolean",
                  "description": "Publish Web Projects",
                  "ignoreCase": "key"
                },
                "projects": {
                  "type": "string",
                  "description": "Project(s)",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "zipAfterPublish": {
                  "type": "boolean",
                  "description": "Zip Published Projects",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Xamarin Component Restore\n\nThis task is deprecated. Use 'NuGet' instead.",
              "ignoreCase": "value",
              "pattern": "^XamarinComponentRestore@0$"
            },
            "inputs": {
              "description": "Xamarin Component Restore inputs",
              "properties": {
                "solutionFile": {
                  "type": "string",
                  "description": "Path to solution",
                  "ignoreCase": "key",
                  "aliases": [
                    "solution"
                  ]
                },
                "email": {
                  "type": "string",
                  "description": "Email",
                  "ignoreCase": "key"
                },
                "password": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "email",
                "password"
              ]
            }
          },
          "deprecationMessage": "XamarinComponentRestore is deprecated - This task is deprecated. Use 'NuGet' instead.",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure App Service deploy\n\nDeploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby",
              "ignoreCase": "value",
              "pattern": "^AzureRmWebAppDeployment@4$"
            },
            "inputs": {
              "description": "Azure App Service deploy inputs",
              "properties": {
                "ConnectionType": {
                  "description": "Connection type",
                  "ignoreCase": "all",
                  "enum": [
                    "AzureRM",
                    "PublishProfile"
                  ]
                },
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "PublishProfilePath": {
                  "type": "string",
                  "description": "Publish profile path",
                  "ignoreCase": "key"
                },
                "PublishProfilePassword": {
                  "type": "string",
                  "description": "Publish profile password",
                  "ignoreCase": "key"
                },
                "appType": {
                  "description": "App Service type",
                  "ignoreCase": "all",
                  "enum": [
                    "webApp",
                    "webAppLinux",
                    "webAppContainer",
                    "webAppHyperVContainer",
                    "functionApp",
                    "functionAppLinux",
                    "functionAppContainer",
                    "apiApp",
                    "mobileApp"
                  ],
                  "aliases": [
                    "WebAppKind"
                  ]
                },
                "WebAppName": {
                  "type": "string",
                  "description": "App Service name",
                  "ignoreCase": "key"
                },
                "deployToSlotOrASE": {
                  "type": "boolean",
                  "description": "Deploy to Slot or App Service Environment",
                  "ignoreCase": "key",
                  "aliases": [
                    "DeployToSlotOrASEFlag"
                  ]
                },
                "ResourceGroupName": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "SlotName": {
                  "type": "string",
                  "description": "Slot",
                  "ignoreCase": "key"
                },
                "DockerNamespace": {
                  "type": "string",
                  "description": "Registry or Namespace",
                  "ignoreCase": "key"
                },
                "DockerRepository": {
                  "type": "string",
                  "description": "Image",
                  "ignoreCase": "key"
                },
                "DockerImageTag": {
                  "type": "string",
                  "description": "Tag",
                  "ignoreCase": "key"
                },
                "VirtualApplication": {
                  "type": "string",
                  "description": "Virtual application",
                  "ignoreCase": "key"
                },
                "packageForLinux": {
                  "type": "string",
                  "description": "Package or folder",
                  "ignoreCase": "key",
                  "aliases": [
                    "Package"
                  ]
                },
                "RuntimeStack": {
                  "type": "string",
                  "description": "Runtime Stack",
                  "ignoreCase": "key"
                },
                "RuntimeStackFunction": {
                  "description": "Runtime Stack",
                  "ignoreCase": "all",
                  "enum": [
                    "DOTNET|2.2",
                    "DOTNET|3.1",
                    "JAVA|8",
                    "JAVA|11",
                    "NODE|8",
                    "NODE|10",
                    "NODE|12",
                    "NODE|14",
                    "PYTHON|3.6",
                    "PYTHON|3.7",
                    "PYTHON|3.8"
                  ]
                },
                "StartupCommand": {
                  "type": "string",
                  "description": "Startup command ",
                  "ignoreCase": "key"
                },
                "ScriptType": {
                  "description": "Deployment script type",
                  "ignoreCase": "all",
                  "enum": [
                    "",
                    "Inline Script",
                    "File Path"
                  ]
                },
                "InlineScript": {
                  "type": "string",
                  "description": "Inline Script",
                  "ignoreCase": "key"
                },
                "ScriptPath": {
                  "type": "string",
                  "description": "Deployment script path",
                  "ignoreCase": "key"
                },
                "WebConfigParameters": {
                  "type": "string",
                  "description": "Generate web.config parameters for Python, Node.js, Go and Java apps",
                  "ignoreCase": "key"
                },
                "AppSettings": {
                  "type": "string",
                  "description": "App settings",
                  "ignoreCase": "key"
                },
                "ConfigurationSettings": {
                  "type": "string",
                  "description": "Configuration settings",
                  "ignoreCase": "key"
                },
                "enableCustomDeployment": {
                  "type": "boolean",
                  "description": "Select deployment method",
                  "ignoreCase": "key",
                  "aliases": [
                    "UseWebDeploy"
                  ]
                },
                "DeploymentType": {
                  "description": "Deployment method",
                  "ignoreCase": "all",
                  "enum": [
                    "webDeploy",
                    "zipDeploy",
                    "runFromZip"
                  ]
                },
                "TakeAppOfflineFlag": {
                  "type": "boolean",
                  "description": "Take App Offline",
                  "ignoreCase": "key"
                },
                "SetParametersFile": {
                  "type": "string",
                  "description": "SetParameters file",
                  "ignoreCase": "key"
                },
                "RemoveAdditionalFilesFlag": {
                  "type": "boolean",
                  "description": "Remove additional files at destination",
                  "ignoreCase": "key"
                },
                "ExcludeFilesFromAppDataFlag": {
                  "type": "boolean",
                  "description": "Exclude files from the App_Data folder",
                  "ignoreCase": "key"
                },
                "AdditionalArguments": {
                  "type": "string",
                  "description": "Additional arguments",
                  "ignoreCase": "key"
                },
                "RenameFilesFlag": {
                  "type": "boolean",
                  "description": "Rename locked files",
                  "ignoreCase": "key"
                },
                "enableXmlTransform": {
                  "type": "boolean",
                  "description": "XML transformation",
                  "ignoreCase": "key",
                  "aliases": [
                    "XmlTransformation"
                  ]
                },
                "enableXmlVariableSubstitution": {
                  "type": "boolean",
                  "description": "XML variable substitution",
                  "ignoreCase": "key",
                  "aliases": [
                    "XmlVariableSubstitution"
                  ]
                },
                "JSONFiles": {
                  "type": "string",
                  "description": "JSON variable substitution",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure App Service Deploy\n\nUpdate Azure App Service using Web Deploy / Kudu REST APIs",
              "ignoreCase": "value",
              "pattern": "^AzureRmWebAppDeployment@2$"
            },
            "inputs": {
              "description": "Azure App Service Deploy inputs",
              "properties": {
                "ConnectedServiceName": {
                  "type": "string",
                  "description": "Azure Subscription",
                  "ignoreCase": "key"
                },
                "WebAppName": {
                  "type": "string",
                  "description": "App Service name",
                  "ignoreCase": "key"
                },
                "DeployToSlotFlag": {
                  "type": "boolean",
                  "description": "Deploy to slot",
                  "ignoreCase": "key"
                },
                "ResourceGroupName": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "SlotName": {
                  "type": "string",
                  "description": "Slot",
                  "ignoreCase": "key"
                },
                "VirtualApplication": {
                  "type": "string",
                  "description": "Virtual Application",
                  "ignoreCase": "key"
                },
                "Package": {
                  "type": "string",
                  "description": "Package or Folder",
                  "ignoreCase": "key"
                },
                "WebAppUri": {
                  "type": "string",
                  "description": "App Service URL",
                  "ignoreCase": "key"
                },
                "UseWebDeploy": {
                  "type": "boolean",
                  "description": "Publish using Web Deploy",
                  "ignoreCase": "key"
                },
                "SetParametersFile": {
                  "type": "string",
                  "description": "SetParameters File",
                  "ignoreCase": "key"
                },
                "RemoveAdditionalFilesFlag": {
                  "type": "boolean",
                  "description": "Remove Additional Files at Destination",
                  "ignoreCase": "key"
                },
                "ExcludeFilesFromAppDataFlag": {
                  "type": "boolean",
                  "description": "Exclude Files from the App_Data Folder",
                  "ignoreCase": "key"
                },
                "AdditionalArguments": {
                  "type": "string",
                  "description": "Additional Arguments",
                  "ignoreCase": "key"
                },
                "TakeAppOfflineFlag": {
                  "type": "boolean",
                  "description": "Take App Offline",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "ConnectedServiceName",
                "WebAppName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure App Service deploy\n\nDeploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby",
              "ignoreCase": "value",
              "pattern": "^AzureRmWebAppDeployment@3$"
            },
            "inputs": {
              "description": "Azure App Service deploy inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "appType": {
                  "description": "App type",
                  "ignoreCase": "all",
                  "enum": [
                    "app",
                    "applinux",
                    "functionapp",
                    "api",
                    "mobileapp"
                  ],
                  "aliases": [
                    "WebAppKind"
                  ]
                },
                "WebAppName": {
                  "type": "string",
                  "description": "App Service name",
                  "ignoreCase": "key"
                },
                "DeployToSlotFlag": {
                  "type": "boolean",
                  "description": "Deploy to slot",
                  "ignoreCase": "key"
                },
                "ResourceGroupName": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "SlotName": {
                  "type": "string",
                  "description": "Slot",
                  "ignoreCase": "key"
                },
                "ImageSource": {
                  "description": "Image Source",
                  "ignoreCase": "all",
                  "enum": [
                    "Registry",
                    "Builtin"
                  ]
                },
                "AzureContainerRegistry": {
                  "type": "string",
                  "description": "Registry",
                  "ignoreCase": "key"
                },
                "AzureContainerRegistryLoginServer": {
                  "type": "string",
                  "description": "Registry Login Server Name",
                  "ignoreCase": "key"
                },
                "AzureContainerRegistryImage": {
                  "type": "string",
                  "description": "Image",
                  "ignoreCase": "key"
                },
                "AzureContainerRegistryTag": {
                  "type": "string",
                  "description": "Tag",
                  "ignoreCase": "key"
                },
                "DockerRepositoryAccess": {
                  "description": "Repository Access",
                  "ignoreCase": "all",
                  "enum": [
                    "private",
                    "public"
                  ]
                },
                "dockerRegistryConnection": {
                  "type": "string",
                  "description": "Registry Connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "RegistryConnectedServiceName"
                  ]
                },
                "PrivateRegistryImage": {
                  "type": "string",
                  "description": "Image",
                  "ignoreCase": "key"
                },
                "PrivateRegistryTag": {
                  "type": "string",
                  "description": "Tag",
                  "ignoreCase": "key"
                },
                "DockerNamespace": {
                  "type": "string",
                  "description": "Registry or Namespace",
                  "ignoreCase": "key"
                },
                "DockerRepository": {
                  "type": "string",
                  "description": "Image",
                  "ignoreCase": "key"
                },
                "DockerImageTag": {
                  "type": "string",
                  "description": "Tag",
                  "ignoreCase": "key"
                },
                "VirtualApplication": {
                  "type": "string",
                  "description": "Virtual application",
                  "ignoreCase": "key"
                },
                "Package": {
                  "type": "string",
                  "description": "Package or folder",
                  "ignoreCase": "key"
                },
                "packageForLinux": {
                  "type": "string",
                  "description": "Package or folder",
                  "ignoreCase": "key",
                  "aliases": [
                    "BuiltinLinuxPackage"
                  ]
                },
                "RuntimeStack": {
                  "type": "string",
                  "description": "Runtime Stack",
                  "ignoreCase": "key"
                },
                "StartupCommand": {
                  "type": "string",
                  "description": "Startup command ",
                  "ignoreCase": "key"
                },
                "WebAppUri": {
                  "type": "string",
                  "description": "App Service URL",
                  "ignoreCase": "key"
                },
                "ScriptType": {
                  "description": "Deployment script type",
                  "ignoreCase": "all",
                  "enum": [
                    "",
                    "Inline Script",
                    "File Path"
                  ]
                },
                "InlineScript": {
                  "type": "string",
                  "description": "Inline Script",
                  "ignoreCase": "key"
                },
                "ScriptPath": {
                  "type": "string",
                  "description": "Deployment script path",
                  "ignoreCase": "key"
                },
                "GenerateWebConfig": {
                  "type": "boolean",
                  "description": "Generate Web.config",
                  "ignoreCase": "key"
                },
                "WebConfigParameters": {
                  "type": "string",
                  "description": "Web.config parameters",
                  "ignoreCase": "key"
                },
                "AppSettings": {
                  "type": "string",
                  "description": "App settings",
                  "ignoreCase": "key"
                },
                "ConfigurationSettings": {
                  "type": "string",
                  "description": "Configuration settings",
                  "ignoreCase": "key"
                },
                "TakeAppOfflineFlag": {
                  "type": "boolean",
                  "description": "Take App Offline",
                  "ignoreCase": "key"
                },
                "UseWebDeploy": {
                  "type": "boolean",
                  "description": "Publish using Web Deploy",
                  "ignoreCase": "key"
                },
                "SetParametersFile": {
                  "type": "string",
                  "description": "SetParameters file",
                  "ignoreCase": "key"
                },
                "RemoveAdditionalFilesFlag": {
                  "type": "boolean",
                  "description": "Remove additional files at destination",
                  "ignoreCase": "key"
                },
                "ExcludeFilesFromAppDataFlag": {
                  "type": "boolean",
                  "description": "Exclude files from the App_Data folder",
                  "ignoreCase": "key"
                },
                "AdditionalArguments": {
                  "type": "string",
                  "description": "Additional arguments",
                  "ignoreCase": "key"
                },
                "RenameFilesFlag": {
                  "type": "boolean",
                  "description": "Rename locked files",
                  "ignoreCase": "key"
                },
                "enableXmlTransform": {
                  "type": "boolean",
                  "description": "XML transformation",
                  "ignoreCase": "key",
                  "aliases": [
                    "XmlTransformation"
                  ]
                },
                "enableXmlVariableSubstitution": {
                  "type": "boolean",
                  "description": "XML variable substitution",
                  "ignoreCase": "key",
                  "aliases": [
                    "XmlVariableSubstitution"
                  ]
                },
                "JSONFiles": {
                  "type": "string",
                  "description": "JSON variable substitution",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription",
                "WebAppName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "PowerShell on target machines\n\nExecute PowerShell scripts on remote machines using PSSession and Invoke-Command for remoting",
              "ignoreCase": "value",
              "pattern": "^PowerShellOnTargetMachines@3$"
            },
            "inputs": {
              "description": "PowerShell on target machines inputs",
              "properties": {
                "Machines": {
                  "type": "string",
                  "description": "Machines",
                  "ignoreCase": "key"
                },
                "UserName": {
                  "type": "string",
                  "description": "Username",
                  "ignoreCase": "key"
                },
                "UserPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "ScriptType": {
                  "description": "Script Type",
                  "ignoreCase": "all",
                  "enum": [
                    "FilePath",
                    "Inline"
                  ]
                },
                "ScriptPath": {
                  "type": "string",
                  "description": "Script File Path",
                  "ignoreCase": "key"
                },
                "InlineScript": {
                  "type": "string",
                  "description": "Script",
                  "ignoreCase": "key"
                },
                "ScriptArguments": {
                  "type": "string",
                  "description": "Script Arguments",
                  "ignoreCase": "key"
                },
                "InitializationScript": {
                  "type": "string",
                  "description": "Initialization script",
                  "ignoreCase": "key"
                },
                "SessionVariables": {
                  "type": "string",
                  "description": "Session Variables",
                  "ignoreCase": "key"
                },
                "CommunicationProtocol": {
                  "description": "Protocol",
                  "ignoreCase": "all",
                  "enum": [
                    "Http",
                    "Https"
                  ]
                },
                "AuthenticationMechanism": {
                  "description": "Authentication",
                  "ignoreCase": "all",
                  "enum": [
                    "Default",
                    "Credssp"
                  ]
                },
                "NewPsSessionOptionArguments": {
                  "type": "string",
                  "description": "Session Option parameters",
                  "ignoreCase": "key"
                },
                "ErrorActionPreference": {
                  "description": "ErrorActionPreference",
                  "ignoreCase": "all",
                  "enum": [
                    "stop",
                    "continue",
                    "silentlyContinue"
                  ]
                },
                "failOnStderr": {
                  "type": "boolean",
                  "description": "Fail on Standard Error",
                  "ignoreCase": "key"
                },
                "ignoreLASTEXITCODE": {
                  "type": "boolean",
                  "description": "Ignore $LASTEXITCODE",
                  "ignoreCase": "key"
                },
                "WorkingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key"
                },
                "RunPowershellInParallel": {
                  "type": "boolean",
                  "description": "Run PowerShell in Parallel",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "Machines"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "PowerShell on Target Machines\n\nExecute PowerShell scripts on remote machine(s)",
              "ignoreCase": "value",
              "pattern": "^PowerShellOnTargetMachines@1$"
            },
            "inputs": {
              "description": "PowerShell on Target Machines inputs",
              "properties": {
                "EnvironmentName": {
                  "type": "string",
                  "description": "Machines",
                  "ignoreCase": "key"
                },
                "AdminUserName": {
                  "type": "string",
                  "description": "Admin Login",
                  "ignoreCase": "key"
                },
                "AdminPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "Protocol": {
                  "description": "Protocol",
                  "ignoreCase": "all",
                  "enum": [
                    "Http",
                    "Https"
                  ]
                },
                "TestCertificate": {
                  "type": "boolean",
                  "description": "Test Certificate",
                  "ignoreCase": "key"
                },
                "ScriptPath": {
                  "type": "string",
                  "description": "PowerShell Script",
                  "ignoreCase": "key"
                },
                "ScriptArguments": {
                  "type": "string",
                  "description": "Script Arguments",
                  "ignoreCase": "key"
                },
                "InitializationScriptPath": {
                  "type": "string",
                  "description": "Initialization Script",
                  "ignoreCase": "key"
                },
                "SessionVariables": {
                  "type": "string",
                  "description": "Session Variables",
                  "ignoreCase": "key"
                },
                "RunPowershellInParallel": {
                  "type": "boolean",
                  "description": "Run PowerShell in Parallel",
                  "ignoreCase": "key"
                },
                "ResourceFilteringMethod": {
                  "description": "Select Machines By",
                  "ignoreCase": "all",
                  "enum": [
                    "machineNames",
                    "tags"
                  ]
                },
                "MachineNames": {
                  "type": "string",
                  "description": "Filter Criteria",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "EnvironmentName",
                "ScriptPath"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "PowerShell on Target Machines\n\nExecute PowerShell scripts on remote machine(s)",
              "ignoreCase": "value",
              "pattern": "^PowerShellOnTargetMachines@2$"
            },
            "inputs": {
              "description": "PowerShell on Target Machines inputs",
              "properties": {
                "EnvironmentName": {
                  "type": "string",
                  "description": "Machines",
                  "ignoreCase": "key"
                },
                "AdminUserName": {
                  "type": "string",
                  "description": "Admin Login",
                  "ignoreCase": "key"
                },
                "AdminPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "Protocol": {
                  "description": "Protocol",
                  "ignoreCase": "all",
                  "enum": [
                    "Http",
                    "Https"
                  ]
                },
                "TestCertificate": {
                  "type": "boolean",
                  "description": "Test Certificate",
                  "ignoreCase": "key"
                },
                "ScriptPath": {
                  "type": "string",
                  "description": "PowerShell Script",
                  "ignoreCase": "key"
                },
                "ScriptArguments": {
                  "type": "string",
                  "description": "Script Arguments",
                  "ignoreCase": "key"
                },
                "InitializationScriptPath": {
                  "type": "string",
                  "description": "Initialization Script",
                  "ignoreCase": "key"
                },
                "SessionVariables": {
                  "type": "string",
                  "description": "Session Variables",
                  "ignoreCase": "key"
                },
                "RunPowershellInParallel": {
                  "type": "boolean",
                  "description": "Run PowerShell in Parallel",
                  "ignoreCase": "key"
                },
                "ResourceFilteringMethod": {
                  "description": "Select Machines By",
                  "ignoreCase": "all",
                  "enum": [
                    "machineNames",
                    "tags"
                  ]
                },
                "MachineNames": {
                  "type": "string",
                  "description": "Filter Criteria",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "EnvironmentName",
                "ScriptPath"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Publish code coverage results v2\n\nPublish any of the code coverage results from a build",
              "ignoreCase": "value",
              "pattern": "^PublishCodeCoverageResults@2$"
            },
            "inputs": {
              "description": "Publish code coverage results v2 inputs",
              "properties": {
                "summaryFileLocation": {
                  "type": "string",
                  "description": "Path to summary files",
                  "ignoreCase": "key"
                },
                "pathToSources": {
                  "type": "string",
                  "description": "Path to Source files",
                  "ignoreCase": "key"
                },
                "failIfCoverageEmpty": {
                  "type": "boolean",
                  "description": "Fail if code coverage results are missing",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "summaryFileLocation"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Publish code coverage results\n\nPublish Cobertura or JaCoCo code coverage results from a build",
              "ignoreCase": "value",
              "pattern": "^PublishCodeCoverageResults@1$"
            },
            "inputs": {
              "description": "Publish code coverage results inputs",
              "properties": {
                "codeCoverageTool": {
                  "description": "Code coverage tool",
                  "ignoreCase": "all",
                  "enum": [
                    "Cobertura",
                    "JaCoCo"
                  ]
                },
                "summaryFileLocation": {
                  "type": "string",
                  "description": "Summary file",
                  "ignoreCase": "key"
                },
                "pathToSources": {
                  "type": "string",
                  "description": "Path to Source files",
                  "ignoreCase": "key"
                },
                "reportDirectory": {
                  "type": "string",
                  "description": "Report directory",
                  "ignoreCase": "key"
                },
                "additionalCodeCoverageFiles": {
                  "type": "string",
                  "description": "Additional files",
                  "ignoreCase": "key"
                },
                "failIfCoverageEmpty": {
                  "type": "boolean",
                  "description": "Fail when code coverage results are missing",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "summaryFileLocation"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Run functional tests\n\nDeprecated: This task and it’s companion task (Visual Studio Test Agent Deployment) are deprecated. Use the 'Visual Studio Test' task instead. The VSTest task can run unit as well as functional tests. Run tests on one or more agents using the multi-agent job setting. Use the 'Visual Studio Test Platform' task to run tests without needing Visual Studio on the agent. VSTest task also brings new capabilities such as automatically rerunning failed tests.",
              "ignoreCase": "value",
              "pattern": "^RunVisualStudioTestsusingTestAgent@1$"
            },
            "inputs": {
              "description": "Run functional tests inputs",
              "properties": {
                "testMachineGroup": {
                  "type": "string",
                  "description": "Machines",
                  "ignoreCase": "key"
                },
                "dropLocation": {
                  "type": "string",
                  "description": "Test Drop Location",
                  "ignoreCase": "key"
                },
                "testSelection": {
                  "description": "Test Selection",
                  "ignoreCase": "all",
                  "enum": [
                    "testAssembly",
                    "testPlan"
                  ]
                },
                "testPlan": {
                  "type": "string",
                  "description": "Test Plan",
                  "ignoreCase": "key"
                },
                "testSuite": {
                  "type": "string",
                  "description": "Test Suite",
                  "ignoreCase": "key"
                },
                "testConfiguration": {
                  "type": "string",
                  "description": "Test Configuration",
                  "ignoreCase": "key"
                },
                "sourcefilters": {
                  "type": "string",
                  "description": "Test Assembly",
                  "ignoreCase": "key"
                },
                "testFilterCriteria": {
                  "type": "string",
                  "description": "Test Filter criteria",
                  "ignoreCase": "key"
                },
                "runSettingsFile": {
                  "type": "string",
                  "description": "Run Settings File",
                  "ignoreCase": "key"
                },
                "overrideRunParams": {
                  "type": "string",
                  "description": "Override Test Run Parameters",
                  "ignoreCase": "key"
                },
                "codeCoverageEnabled": {
                  "type": "boolean",
                  "description": "Code Coverage Enabled",
                  "ignoreCase": "key"
                },
                "customSlicingEnabled": {
                  "type": "boolean",
                  "description": "Distribute tests by number of machines",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test Run Title",
                  "ignoreCase": "key"
                },
                "platform": {
                  "type": "string",
                  "description": "Platform",
                  "ignoreCase": "key"
                },
                "configuration": {
                  "type": "string",
                  "description": "Configuration",
                  "ignoreCase": "key"
                },
                "testConfigurations": {
                  "type": "string",
                  "description": "Test Configurations",
                  "ignoreCase": "key"
                },
                "autMachineGroup": {
                  "type": "string",
                  "description": "Application Under Test Machines",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "testMachineGroup",
                "dropLocation"
              ]
            }
          },
          "deprecationMessage": "RunVisualStudioTestsusingTestAgent is deprecated - Deprecated: This task and it’s companion task (Visual Studio Test Agent Deployment) are deprecated. Use the 'Visual Studio Test' task instead. The VSTest task can run unit as well as functional tests. Run tests on one or more agents using the multi-agent job setting. Use the 'Visual Studio Test Platform' task to run tests without needing Visual Studio on the agent. VSTest task also brings new capabilities such as automatically rerunning failed tests.",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Manual intervention\n\nPause deployment and wait for manual intervention",
              "ignoreCase": "value",
              "pattern": "^ManualIntervention@8$"
            },
            "inputs": {
              "description": "Manual intervention inputs",
              "properties": {
                "instructions": {
                  "type": "string",
                  "description": "Instructions",
                  "ignoreCase": "key"
                },
                "emailRecipients": {
                  "type": "string",
                  "description": "Notify users",
                  "ignoreCase": "key"
                },
                "onTimeout": {
                  "description": "On timeout",
                  "ignoreCase": "all",
                  "enum": [
                    "reject",
                    "resume"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Install Apple Provisioning Profile\n\nInstall an Apple provisioning profile required to build on a macOS agent",
              "ignoreCase": "value",
              "pattern": "^InstallAppleProvisioningProfile@0$"
            },
            "inputs": {
              "description": "Install Apple Provisioning Profile inputs",
              "properties": {
                "provProfileSecureFile": {
                  "type": "string",
                  "description": "Provisioning Profile",
                  "ignoreCase": "key"
                },
                "removeProfile": {
                  "type": "boolean",
                  "description": "Remove Profile After Build",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "provProfileSecureFile"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Install Apple provisioning profile\n\nInstall an Apple provisioning profile required to build on a macOS agent machine",
              "ignoreCase": "value",
              "pattern": "^InstallAppleProvisioningProfile@1$"
            },
            "inputs": {
              "description": "Install Apple provisioning profile inputs",
              "properties": {
                "provisioningProfileLocation": {
                  "description": "Provisioning profile location",
                  "ignoreCase": "all",
                  "enum": [
                    "secureFiles",
                    "sourceRepository"
                  ]
                },
                "provProfileSecureFile": {
                  "type": "string",
                  "description": "Provisioning profile",
                  "ignoreCase": "key"
                },
                "provProfileSourceRepository": {
                  "type": "string",
                  "description": "Provisioning profile",
                  "ignoreCase": "key"
                },
                "removeProfile": {
                  "type": "boolean",
                  "description": "Remove profile after build",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "SonarQube for MSBuild - End Analysis\n\n[DEPRECATED] Finish the analysis and upload the results to SonarQube",
              "ignoreCase": "value",
              "pattern": "^SonarQubePostTest@1$"
            },
            "inputs": {
              "description": "SonarQube for MSBuild - End Analysis inputs",
              "properties": {},
              "additionalProperties": false,
              "required": []
            }
          },
          "deprecationMessage": "SonarQubePostTest is deprecated - [DEPRECATED] Finish the analysis and upload the results to SonarQube",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "PyPI publisher\n\nCreate and upload an sdist or wheel to a PyPI-compatible index using Twine",
              "ignoreCase": "value",
              "pattern": "^PyPIPublisher@0$"
            },
            "inputs": {
              "description": "PyPI publisher inputs",
              "properties": {
                "pypiConnection": {
                  "type": "string",
                  "description": "PyPI service connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "serviceEndpoint"
                  ]
                },
                "packageDirectory": {
                  "type": "string",
                  "description": "Python package directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "wd"
                  ]
                },
                "alsoPublishWheel": {
                  "type": "boolean",
                  "description": "Also publish a wheel",
                  "ignoreCase": "key",
                  "aliases": [
                    "wheel"
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "pypiConnection",
                "packageDirectory"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Chef Knife\n\nRun scripts with Knife commands on your Chef workstation",
              "ignoreCase": "value",
              "pattern": "^ChefKnife@1$"
            },
            "inputs": {
              "description": "Chef Knife inputs",
              "properties": {
                "ConnectedServiceName": {
                  "type": "string",
                  "description": "Chef Subscription",
                  "ignoreCase": "key"
                },
                "ScriptPath": {
                  "type": "string",
                  "description": "Script Path",
                  "ignoreCase": "key"
                },
                "ScriptArguments": {
                  "type": "string",
                  "description": "Script Arguments",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "ConnectedServiceName",
                "ScriptPath"
              ]
            }
          },
          "deprecationMessage": "ChefKnife is deprecated - Run scripts with Knife commands on your Chef workstation",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Go tool installer\n\nFind in cache or download a specific version of Go and add it to the PATH",
              "ignoreCase": "value",
              "pattern": "^GoTool@0$"
            },
            "inputs": {
              "description": "Go tool installer inputs",
              "properties": {
                "version": {
                  "type": "string",
                  "description": "Version",
                  "ignoreCase": "key"
                },
                "goPath": {
                  "type": "string",
                  "description": "GOPATH",
                  "ignoreCase": "key"
                },
                "goBin": {
                  "type": "string",
                  "description": "GOBIN",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Xcode Package iOS\n\nGenerate an .ipa file from Xcode build output using xcrun (Xcode 7 or below)",
              "ignoreCase": "value",
              "pattern": "^XcodePackageiOS@0$"
            },
            "inputs": {
              "description": "Xcode Package iOS inputs",
              "properties": {
                "appName": {
                  "type": "string",
                  "description": "Name of .app",
                  "ignoreCase": "key"
                },
                "ipaName": {
                  "type": "string",
                  "description": "Name of .ipa",
                  "ignoreCase": "key"
                },
                "provisioningProfile": {
                  "type": "string",
                  "description": "Provisioning Profile Name",
                  "ignoreCase": "key"
                },
                "sdk": {
                  "type": "string",
                  "description": "SDK",
                  "ignoreCase": "key"
                },
                "appPath": {
                  "type": "string",
                  "description": "Path to .app",
                  "ignoreCase": "key"
                },
                "ipaPath": {
                  "type": "string",
                  "description": "Path to place .ipa",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "provisioningProfile"
              ]
            }
          },
          "deprecationMessage": "XcodePackageiOS is deprecated - Generate an .ipa file from Xcode build output using xcrun (Xcode 7 or below)",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Go\n\nGet, build, or test a Go application, or run a custom Go command",
              "ignoreCase": "value",
              "pattern": "^Go@0$"
            },
            "inputs": {
              "description": "Go inputs",
              "properties": {
                "command": {
                  "description": "Command",
                  "ignoreCase": "all",
                  "enum": [
                    "get",
                    "build",
                    "test",
                    "custom"
                  ]
                },
                "customCommand": {
                  "type": "string",
                  "description": "Custom command",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working directory",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Publish Pipeline Metadata\n\nPublish Pipeline Metadata to Evidence store",
              "ignoreCase": "value",
              "pattern": "^PublishPipelineMetadata@0$"
            },
            "inputs": {
              "description": "Publish Pipeline Metadata inputs",
              "properties": {},
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Docker\n\nBuild, tag, push, or run Docker images, or run a Docker command",
              "ignoreCase": "value",
              "pattern": "^Docker@0$"
            },
            "inputs": {
              "description": "Docker inputs",
              "properties": {
                "containerregistrytype": {
                  "description": "Container Registry Type",
                  "ignoreCase": "all",
                  "enum": [
                    "Azure Container Registry",
                    "Container Registry"
                  ]
                },
                "dockerRegistryConnection": {
                  "type": "string",
                  "description": "Docker Registry Service Connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "dockerRegistryEndpoint"
                  ]
                },
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "azureSubscriptionEndpoint"
                  ]
                },
                "azureContainerRegistry": {
                  "type": "string",
                  "description": "Azure Container Registry",
                  "ignoreCase": "key"
                },
                "action": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "Build an image",
                    "Tag images",
                    "Push an image",
                    "Push images",
                    "Run an image",
                    "Run a Docker command"
                  ]
                },
                "dockerFile": {
                  "type": "string",
                  "description": "Docker File",
                  "ignoreCase": "key"
                },
                "addBaseImageData": {
                  "type": "boolean",
                  "description": "Add base image metadata to image(s)",
                  "ignoreCase": "key"
                },
                "buildArguments": {
                  "type": "string",
                  "description": "Build Arguments",
                  "ignoreCase": "key"
                },
                "defaultContext": {
                  "type": "boolean",
                  "description": "Use Default Build Context",
                  "ignoreCase": "key"
                },
                "context": {
                  "type": "string",
                  "description": "Build Context",
                  "ignoreCase": "key"
                },
                "imageName": {
                  "type": "string",
                  "description": "Image Name",
                  "ignoreCase": "key"
                },
                "imageNamesPath": {
                  "type": "string",
                  "description": "Image Names Path",
                  "ignoreCase": "key"
                },
                "qualifyImageName": {
                  "type": "boolean",
                  "description": "Qualify Image Name",
                  "ignoreCase": "key"
                },
                "additionalImageTags": {
                  "type": "string",
                  "description": "Additional Image Tags",
                  "ignoreCase": "key"
                },
                "includeSourceTags": {
                  "type": "boolean",
                  "description": "Include Source Tags",
                  "ignoreCase": "key"
                },
                "includeLatestTag": {
                  "type": "boolean",
                  "description": "Include Latest Tag",
                  "ignoreCase": "key"
                },
                "imageDigestFile": {
                  "type": "string",
                  "description": "Image Digest File",
                  "ignoreCase": "key"
                },
                "containerName": {
                  "type": "string",
                  "description": "Container Name",
                  "ignoreCase": "key"
                },
                "ports": {
                  "type": "string",
                  "description": "Ports",
                  "ignoreCase": "key"
                },
                "volumes": {
                  "type": "string",
                  "description": "Volumes",
                  "ignoreCase": "key"
                },
                "envVars": {
                  "type": "string",
                  "description": "Environment Variables",
                  "ignoreCase": "key"
                },
                "workDir": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key"
                },
                "entrypoint": {
                  "type": "string",
                  "description": "Entry Point Override",
                  "ignoreCase": "key"
                },
                "containerCommand": {
                  "type": "string",
                  "description": "Command",
                  "ignoreCase": "key"
                },
                "detached": {
                  "type": "boolean",
                  "description": "Run In Background",
                  "ignoreCase": "key"
                },
                "restartPolicy": {
                  "description": "Restart Policy",
                  "ignoreCase": "all",
                  "enum": [
                    "no",
                    "onFailure",
                    "always",
                    "unlessStopped"
                  ]
                },
                "restartMaxRetries": {
                  "type": "string",
                  "description": "Maximum Restart Retries",
                  "ignoreCase": "key"
                },
                "customCommand": {
                  "type": "string",
                  "description": "Command",
                  "ignoreCase": "key"
                },
                "dockerHostEndpoint": {
                  "type": "string",
                  "description": "Docker Host Service Connection",
                  "ignoreCase": "key"
                },
                "enforceDockerNamingConvention": {
                  "type": "boolean",
                  "description": "Force image name to follow Docker naming convention",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "memory": {
                  "type": "string",
                  "description": "Memory limit",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Docker\n\nBuild, tag, push, or run Docker images, or run a Docker command",
              "ignoreCase": "value",
              "pattern": "^Docker@1$"
            },
            "inputs": {
              "description": "Docker inputs",
              "properties": {
                "containerregistrytype": {
                  "description": "Container registry type",
                  "ignoreCase": "all",
                  "enum": [
                    "Azure Container Registry",
                    "Container Registry"
                  ]
                },
                "addBaseImageData": {
                  "type": "boolean",
                  "description": "Add base image metadata to image(s)",
                  "ignoreCase": "key"
                },
                "dockerRegistryEndpoint": {
                  "type": "string",
                  "description": "Docker registry service connection",
                  "ignoreCase": "key"
                },
                "azureSubscriptionEndpoint": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key"
                },
                "azureContainerRegistry": {
                  "type": "string",
                  "description": "Azure container registry",
                  "ignoreCase": "key"
                },
                "command": {
                  "description": "Command",
                  "ignoreCase": "all",
                  "enum": [
                    "Build an image",
                    "Tag image",
                    "Push an image",
                    "Run an image",
                    "login",
                    "logout"
                  ]
                },
                "dockerFile": {
                  "type": "string",
                  "description": "Dockerfile",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "pushMultipleImages": {
                  "type": "boolean",
                  "description": "Push multiple images",
                  "ignoreCase": "key"
                },
                "tagMultipleImages": {
                  "type": "boolean",
                  "description": "Tag multiple images",
                  "ignoreCase": "key"
                },
                "imageName": {
                  "type": "string",
                  "description": "Image name",
                  "ignoreCase": "key"
                },
                "imageNamesPath": {
                  "type": "string",
                  "description": "Image names path",
                  "ignoreCase": "key"
                },
                "qualifyImageName": {
                  "type": "boolean",
                  "description": "Qualify image name",
                  "ignoreCase": "key"
                },
                "qualifySourceImageName": {
                  "type": "boolean",
                  "description": "Qualify source image name",
                  "ignoreCase": "key"
                },
                "includeSourceTags": {
                  "type": "boolean",
                  "description": "Include source tags",
                  "ignoreCase": "key"
                },
                "includeLatestTag": {
                  "type": "boolean",
                  "description": "Include latest tag",
                  "ignoreCase": "key"
                },
                "addDefaultLabels": {
                  "type": "boolean",
                  "description": "Add default labels",
                  "ignoreCase": "key"
                },
                "useDefaultContext": {
                  "type": "boolean",
                  "description": "Use default build context",
                  "ignoreCase": "key"
                },
                "buildContext": {
                  "type": "string",
                  "description": "Build context",
                  "ignoreCase": "key"
                },
                "imageDigestFile": {
                  "type": "string",
                  "description": "Image digest file",
                  "ignoreCase": "key"
                },
                "containerName": {
                  "type": "string",
                  "description": "Container name",
                  "ignoreCase": "key"
                },
                "ports": {
                  "type": "string",
                  "description": "Ports",
                  "ignoreCase": "key"
                },
                "volumes": {
                  "type": "string",
                  "description": "Volumes",
                  "ignoreCase": "key"
                },
                "envVars": {
                  "type": "string",
                  "description": "Environment variables",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working directory",
                  "ignoreCase": "key"
                },
                "entrypointOverride": {
                  "type": "string",
                  "description": "Entry point override",
                  "ignoreCase": "key"
                },
                "containerCommand": {
                  "type": "string",
                  "description": "Container command",
                  "ignoreCase": "key"
                },
                "runInBackground": {
                  "type": "boolean",
                  "description": "Run in background",
                  "ignoreCase": "key"
                },
                "restartPolicy": {
                  "description": "Restart policy",
                  "ignoreCase": "all",
                  "enum": [
                    "no",
                    "onFailure",
                    "always",
                    "unlessStopped"
                  ]
                },
                "maxRestartRetries": {
                  "type": "string",
                  "description": "Maximum restart retries",
                  "ignoreCase": "key"
                },
                "dockerHostEndpoint": {
                  "type": "string",
                  "description": "Docker host service connection",
                  "ignoreCase": "key"
                },
                "enforceDockerNamingConvention": {
                  "type": "boolean",
                  "description": "Force image name to follow Docker naming convention",
                  "ignoreCase": "key"
                },
                "memoryLimit": {
                  "type": "string",
                  "description": "Memory limit",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Docker\n\nBuild or push Docker images, login or logout, start or stop containers, or run a Docker command",
              "ignoreCase": "value",
              "pattern": "^Docker@2$"
            },
            "inputs": {
              "description": "Docker inputs",
              "properties": {
                "containerRegistry": {
                  "type": "string",
                  "description": "Container registry",
                  "ignoreCase": "key"
                },
                "repository": {
                  "type": "string",
                  "description": "Container repository",
                  "ignoreCase": "key"
                },
                "command": {
                  "description": "Command",
                  "ignoreCase": "all",
                  "enum": [
                    "buildAndPush",
                    "build",
                    "push",
                    "login",
                    "logout",
                    "start",
                    "stop"
                  ]
                },
                "Dockerfile": {
                  "type": "string",
                  "description": "Dockerfile",
                  "ignoreCase": "key"
                },
                "buildContext": {
                  "type": "string",
                  "description": "Build context",
                  "ignoreCase": "key"
                },
                "tags": {
                  "type": "string",
                  "description": "Tags",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "addPipelineData": {
                  "type": "boolean",
                  "description": "Add Pipeline metadata to image(s)",
                  "ignoreCase": "key"
                },
                "addBaseImageData": {
                  "type": "boolean",
                  "description": "Add base image metadata to image(s)",
                  "ignoreCase": "key"
                },
                "container": {
                  "type": "string",
                  "description": "Container",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Jenkins Queue Job\n\nQueue a job on a Jenkins server",
              "ignoreCase": "value",
              "pattern": "^JenkinsQueueJob@1$"
            },
            "inputs": {
              "description": "Jenkins Queue Job inputs",
              "properties": {
                "serverEndpoint": {
                  "type": "string",
                  "description": "Jenkins service endpoint",
                  "ignoreCase": "key"
                },
                "jobName": {
                  "type": "string",
                  "description": "Job name",
                  "ignoreCase": "key"
                },
                "isMultibranchJob": {
                  "type": "boolean",
                  "description": "Job is of Multibranch Pipeline type",
                  "ignoreCase": "key"
                },
                "multibranchPipelineBranch": {
                  "type": "string",
                  "description": "Multibranch Pipeline Branch",
                  "ignoreCase": "key"
                },
                "captureConsole": {
                  "type": "boolean",
                  "description": "Capture console output and wait for completion",
                  "ignoreCase": "key"
                },
                "capturePipeline": {
                  "type": "boolean",
                  "description": "Capture pipeline output and wait for pipeline completion",
                  "ignoreCase": "key"
                },
                "parameterizedJob": {
                  "type": "boolean",
                  "description": "Parameterized job",
                  "ignoreCase": "key"
                },
                "jobParameters": {
                  "type": "string",
                  "description": "Job parameters",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "serverEndpoint",
                "jobName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Jenkins queue job\n\nQueue a job on a Jenkins server",
              "ignoreCase": "value",
              "pattern": "^JenkinsQueueJob@2$"
            },
            "inputs": {
              "description": "Jenkins queue job inputs",
              "properties": {
                "serverEndpoint": {
                  "type": "string",
                  "description": "Jenkins service connection",
                  "ignoreCase": "key"
                },
                "jobName": {
                  "type": "string",
                  "description": "Job name",
                  "ignoreCase": "key"
                },
                "isMultibranchJob": {
                  "type": "boolean",
                  "description": "Job is of multibranch pipeline type",
                  "ignoreCase": "key"
                },
                "multibranchPipelineBranch": {
                  "type": "string",
                  "description": "Multibranch pipeline branch",
                  "ignoreCase": "key"
                },
                "captureConsole": {
                  "type": "boolean",
                  "description": "Capture console output and wait for completion",
                  "ignoreCase": "key"
                },
                "capturePipeline": {
                  "type": "boolean",
                  "description": "Capture pipeline output and wait for pipeline completion",
                  "ignoreCase": "key"
                },
                "isParameterizedJob": {
                  "type": "boolean",
                  "description": "Parameterized job",
                  "ignoreCase": "key",
                  "aliases": [
                    "parameterizedJob"
                  ]
                },
                "jobParameters": {
                  "type": "string",
                  "description": "Job parameters",
                  "ignoreCase": "key"
                },
                "failOnUnstableResult": {
                  "type": "boolean",
                  "description": "Fail on unstable result",
                  "ignoreCase": "key"
                },
                "retryCount": {
                  "type": "string",
                  "description": "Number of retries for failed connection",
                  "ignoreCase": "key"
                },
                "delayBetweenRetries": {
                  "type": "string",
                  "description": "Time between retries",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "serverEndpoint",
                "jobName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "FTP upload\n\nUpload files using FTP",
              "ignoreCase": "value",
              "pattern": "^FtpUpload@2$"
            },
            "inputs": {
              "description": "FTP upload inputs",
              "properties": {
                "credentialsOption": {
                  "description": "Authentication Method",
                  "ignoreCase": "all",
                  "enum": [
                    "serviceEndpoint",
                    "inputs"
                  ],
                  "aliases": [
                    "credsType"
                  ]
                },
                "serverEndpoint": {
                  "type": "string",
                  "description": "FTP Service Connection",
                  "ignoreCase": "key"
                },
                "serverUrl": {
                  "type": "string",
                  "description": "Server URL",
                  "ignoreCase": "key"
                },
                "username": {
                  "type": "string",
                  "description": "Username",
                  "ignoreCase": "key"
                },
                "password": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "rootDirectory": {
                  "type": "string",
                  "description": "Root folder",
                  "ignoreCase": "key",
                  "aliases": [
                    "rootFolder"
                  ]
                },
                "filePatterns": {
                  "type": "string",
                  "description": "File patterns",
                  "ignoreCase": "key"
                },
                "remoteDirectory": {
                  "type": "string",
                  "description": "Remote directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "remotePath"
                  ]
                },
                "enableUtf8": {
                  "type": "boolean",
                  "description": "Enable UTF8 support",
                  "ignoreCase": "key"
                },
                "clean": {
                  "type": "boolean",
                  "description": "Delete remote directory",
                  "ignoreCase": "key"
                },
                "cleanContents": {
                  "type": "boolean",
                  "description": "Clear remote directory contents",
                  "ignoreCase": "key"
                },
                "preservePaths": {
                  "type": "boolean",
                  "description": "Preserve file paths",
                  "ignoreCase": "key"
                },
                "trustSSL": {
                  "type": "boolean",
                  "description": "Trust server certificate",
                  "ignoreCase": "key"
                },
                "customCmds": {
                  "type": "string",
                  "description": "FTP Commands",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "rootDirectory"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "FTP upload\n\nUpload files using FTP",
              "ignoreCase": "value",
              "pattern": "^FtpUpload@1$"
            },
            "inputs": {
              "description": "FTP upload inputs",
              "properties": {
                "credentialsOption": {
                  "description": "Authentication Method",
                  "ignoreCase": "all",
                  "enum": [
                    "serviceEndpoint",
                    "inputs"
                  ],
                  "aliases": [
                    "credsType"
                  ]
                },
                "serverEndpoint": {
                  "type": "string",
                  "description": "FTP Service Connection",
                  "ignoreCase": "key"
                },
                "serverUrl": {
                  "type": "string",
                  "description": "Server URL",
                  "ignoreCase": "key"
                },
                "username": {
                  "type": "string",
                  "description": "Username",
                  "ignoreCase": "key"
                },
                "password": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "rootDirectory": {
                  "type": "string",
                  "description": "Root folder",
                  "ignoreCase": "key",
                  "aliases": [
                    "rootFolder"
                  ]
                },
                "filePatterns": {
                  "type": "string",
                  "description": "File patterns",
                  "ignoreCase": "key"
                },
                "remoteDirectory": {
                  "type": "string",
                  "description": "Remote directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "remotePath"
                  ]
                },
                "clean": {
                  "type": "boolean",
                  "description": "Delete remote directory",
                  "ignoreCase": "key"
                },
                "cleanContents": {
                  "type": "boolean",
                  "description": "Clear remote directory contents",
                  "ignoreCase": "key"
                },
                "overwrite": {
                  "type": "boolean",
                  "description": "Overwrite",
                  "ignoreCase": "key"
                },
                "preservePaths": {
                  "type": "boolean",
                  "description": "Preserve file paths",
                  "ignoreCase": "key"
                },
                "trustSSL": {
                  "type": "boolean",
                  "description": "Trust server certificate",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "rootDirectory"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Windows machine file copy\n\nCopy files to remote Windows machines",
              "ignoreCase": "value",
              "pattern": "^WindowsMachineFileCopy@1$"
            },
            "inputs": {
              "description": "Windows machine file copy inputs",
              "properties": {
                "SourcePath": {
                  "type": "string",
                  "description": "Source",
                  "ignoreCase": "key"
                },
                "EnvironmentName": {
                  "type": "string",
                  "description": "Machines",
                  "ignoreCase": "key"
                },
                "AdminUserName": {
                  "type": "string",
                  "description": "Admin Login",
                  "ignoreCase": "key"
                },
                "AdminPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "TargetPath": {
                  "type": "string",
                  "description": "Destination Folder",
                  "ignoreCase": "key"
                },
                "CleanTargetBeforeCopy": {
                  "type": "boolean",
                  "description": "Clean Target",
                  "ignoreCase": "key"
                },
                "CopyFilesInParallel": {
                  "type": "boolean",
                  "description": "Copy Files in Parallel",
                  "ignoreCase": "key"
                },
                "AdditionalArguments": {
                  "type": "string",
                  "description": "Additional Arguments",
                  "ignoreCase": "key"
                },
                "ResourceFilteringMethod": {
                  "description": "Select Machines By",
                  "ignoreCase": "all",
                  "enum": [
                    "machineNames",
                    "tags"
                  ]
                },
                "MachineNames": {
                  "type": "string",
                  "description": "Filter Criteria",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "SourcePath",
                "TargetPath"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Windows machine file copy\n\nCopy files to remote Windows machines",
              "ignoreCase": "value",
              "pattern": "^WindowsMachineFileCopy@2$"
            },
            "inputs": {
              "description": "Windows machine file copy inputs",
              "properties": {
                "SourcePath": {
                  "type": "string",
                  "description": "Source",
                  "ignoreCase": "key"
                },
                "MachineNames": {
                  "type": "string",
                  "description": "Machines",
                  "ignoreCase": "key"
                },
                "AdminUserName": {
                  "type": "string",
                  "description": "Admin Login",
                  "ignoreCase": "key"
                },
                "AdminPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "TargetPath": {
                  "type": "string",
                  "description": "Destination Folder",
                  "ignoreCase": "key"
                },
                "CleanTargetBeforeCopy": {
                  "type": "boolean",
                  "description": "Clean Target",
                  "ignoreCase": "key"
                },
                "CopyFilesInParallel": {
                  "type": "boolean",
                  "description": "Copy Files in Parallel",
                  "ignoreCase": "key"
                },
                "AdditionalArguments": {
                  "type": "string",
                  "description": "Additional Arguments",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "SourcePath",
                "MachineNames",
                "AdminUserName",
                "AdminPassword",
                "TargetPath"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Android Build\n\n[Deprecated]  Use Gradle",
              "ignoreCase": "value",
              "pattern": "^AndroidBuild@1$"
            },
            "inputs": {
              "description": "Android Build inputs",
              "properties": {
                "gradleWrapper": {
                  "type": "string",
                  "description": "Location of Gradle Wrapper",
                  "ignoreCase": "key"
                },
                "gradleProj": {
                  "type": "string",
                  "description": "Project Directory",
                  "ignoreCase": "key"
                },
                "gradleArguments": {
                  "type": "string",
                  "description": "Gradle Arguments",
                  "ignoreCase": "key"
                },
                "avdName": {
                  "type": "string",
                  "description": "Name",
                  "ignoreCase": "key"
                },
                "createAvd": {
                  "type": "boolean",
                  "description": "Create AVD",
                  "ignoreCase": "key"
                },
                "emulatorTarget": {
                  "type": "string",
                  "description": "AVD Target SDK",
                  "ignoreCase": "key"
                },
                "emulatorDevice": {
                  "type": "string",
                  "description": "AVD Device",
                  "ignoreCase": "key"
                },
                "avdAbi": {
                  "type": "string",
                  "description": "AVD ABI",
                  "ignoreCase": "key"
                },
                "avdForce": {
                  "type": "boolean",
                  "description": "Overwrite Existing AVD",
                  "ignoreCase": "key"
                },
                "avdOptionalArgs": {
                  "type": "string",
                  "description": "Create AVD Optional Arguments",
                  "ignoreCase": "key"
                },
                "startEmulator": {
                  "type": "boolean",
                  "description": "Start and Stop Android Emulator",
                  "ignoreCase": "key"
                },
                "emulatorTimeout": {
                  "type": "string",
                  "description": "Timeout in Seconds",
                  "ignoreCase": "key"
                },
                "emulatorHeadless": {
                  "type": "boolean",
                  "description": "Headless Display",
                  "ignoreCase": "key"
                },
                "emulatorOptionalArgs": {
                  "type": "string",
                  "description": "Emulator Optional Arguments",
                  "ignoreCase": "key"
                },
                "deleteAvd": {
                  "type": "boolean",
                  "description": "Delete AVD",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "deprecationMessage": "AndroidBuild is deprecated - [Deprecated]  Use Gradle",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Python twine upload authenticate\n\nAuthenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.",
              "ignoreCase": "value",
              "pattern": "^TwineAuthenticate@0$"
            },
            "inputs": {
              "description": "Python twine upload authenticate inputs",
              "properties": {
                "artifactFeeds": {
                  "type": "string",
                  "description": "My feeds (select below)",
                  "ignoreCase": "key",
                  "aliases": [
                    "feedList"
                  ]
                },
                "externalFeeds": {
                  "type": "string",
                  "description": "Feeds from external organizations",
                  "ignoreCase": "key",
                  "aliases": [
                    "externalSources"
                  ]
                },
                "publishPackageMetadata": {
                  "type": "boolean",
                  "description": "Publish pipeline metadata",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Python twine upload authenticate\n\nAuthenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.",
              "ignoreCase": "value",
              "pattern": "^TwineAuthenticate@1$"
            },
            "inputs": {
              "description": "Python twine upload authenticate inputs",
              "properties": {
                "artifactFeed": {
                  "type": "string",
                  "description": "My feed name (select below)",
                  "ignoreCase": "key",
                  "aliases": [
                    "artifactFeed"
                  ]
                },
                "pythonUploadServiceConnection": {
                  "type": "string",
                  "description": "Feed from external organizations",
                  "ignoreCase": "key",
                  "aliases": [
                    "pythonUploadServiceConnection"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "IIS web app deploy\n\nDeploy a website or web application using Web Deploy",
              "ignoreCase": "value",
              "pattern": "^IISWebAppDeploymentOnMachineGroup@0$"
            },
            "inputs": {
              "description": "IIS web app deploy inputs",
              "properties": {
                "WebSiteName": {
                  "type": "string",
                  "description": "Website Name",
                  "ignoreCase": "key"
                },
                "VirtualApplication": {
                  "type": "string",
                  "description": "Virtual Application",
                  "ignoreCase": "key"
                },
                "Package": {
                  "type": "string",
                  "description": "Package or Folder",
                  "ignoreCase": "key"
                },
                "SetParametersFile": {
                  "type": "string",
                  "description": "SetParameters File",
                  "ignoreCase": "key"
                },
                "RemoveAdditionalFilesFlag": {
                  "type": "boolean",
                  "description": "Remove Additional Files at Destination",
                  "ignoreCase": "key"
                },
                "ExcludeFilesFromAppDataFlag": {
                  "type": "boolean",
                  "description": "Exclude Files from the App_Data Folder",
                  "ignoreCase": "key"
                },
                "TakeAppOfflineFlag": {
                  "type": "boolean",
                  "description": "Take App Offline",
                  "ignoreCase": "key"
                },
                "AdditionalArguments": {
                  "type": "string",
                  "description": "Additional Arguments",
                  "ignoreCase": "key"
                },
                "XmlTransformation": {
                  "type": "boolean",
                  "description": "XML transformation",
                  "ignoreCase": "key"
                },
                "XmlVariableSubstitution": {
                  "type": "boolean",
                  "description": "XML variable substitution",
                  "ignoreCase": "key"
                },
                "JSONFiles": {
                  "type": "string",
                  "description": "JSON variable substitution",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "WebSiteName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Python script\n\nRun a Python file or inline script",
              "ignoreCase": "value",
              "pattern": "^PythonScript@0$"
            },
            "inputs": {
              "description": "Python script inputs",
              "properties": {
                "scriptSource": {
                  "description": "Script source",
                  "ignoreCase": "all",
                  "enum": [
                    "filePath",
                    "inline"
                  ]
                },
                "scriptPath": {
                  "type": "string",
                  "description": "Script path",
                  "ignoreCase": "key"
                },
                "script": {
                  "type": "string",
                  "description": "Script",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "pythonInterpreter": {
                  "type": "string",
                  "description": "Python interpreter",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working directory",
                  "ignoreCase": "key"
                },
                "failOnStderr": {
                  "type": "boolean",
                  "description": "Fail on standard error",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Helm tool installer\n\nInstall Helm and Kubernetes on an agent machine",
              "ignoreCase": "value",
              "pattern": "^HelmInstaller@0$"
            },
            "inputs": {
              "description": "Helm tool installer inputs",
              "properties": {
                "helmVersion": {
                  "type": "string",
                  "description": "Helm Version Spec",
                  "ignoreCase": "key"
                },
                "checkLatestHelmVersion": {
                  "type": "boolean",
                  "description": "Check for latest version of Helm",
                  "ignoreCase": "key"
                },
                "installKubectl": {
                  "type": "boolean",
                  "description": "Install Kubectl",
                  "ignoreCase": "key",
                  "aliases": [
                    "installKubeCtl"
                  ]
                },
                "kubectlVersion": {
                  "type": "string",
                  "description": "Kubectl Version Spec",
                  "ignoreCase": "key"
                },
                "checkLatestKubectl": {
                  "type": "boolean",
                  "description": "Check for latest version of kubectl",
                  "ignoreCase": "key",
                  "aliases": [
                    "checkLatestKubeCtl"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Helm tool installer\n\nInstall Helm on an agent machine",
              "ignoreCase": "value",
              "pattern": "^HelmInstaller@1$"
            },
            "inputs": {
              "description": "Helm tool installer inputs",
              "properties": {
                "helmVersionToInstall": {
                  "type": "string",
                  "description": "Helm Version Spec",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Node.js tasks runner installer\n\nInstall specific Node.js version to run node tasks",
              "ignoreCase": "value",
              "pattern": "^NodeTaskRunnerInstaller@0$"
            },
            "inputs": {
              "description": "Node.js tasks runner installer inputs",
              "properties": {
                "nodeVersion": {
                  "description": "Version of runner to install",
                  "ignoreCase": "all",
                  "enum": [
                    "6",
                    "10"
                  ],
                  "aliases": [
                    "runnerVersion",
                    "installVersion"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Xamarin License\n\n[Deprecated] Upgrade to free version of Xamarin: https://store.xamarin.com",
              "ignoreCase": "value",
              "pattern": "^XamarinLicense@1$"
            },
            "inputs": {
              "description": "Xamarin License inputs",
              "properties": {
                "action": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "Activate",
                    "Deactivate"
                  ]
                },
                "email": {
                  "type": "string",
                  "description": "Email",
                  "ignoreCase": "key"
                },
                "password": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "product": {
                  "description": "Xamarin Product",
                  "ignoreCase": "all",
                  "enum": [
                    "MA",
                    "MT",
                    "MM"
                  ]
                },
                "timeout": {
                  "type": "string",
                  "description": "Timeout in Seconds",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "email",
                "password"
              ]
            }
          },
          "deprecationMessage": "XamarinLicense is deprecated - [Deprecated] Upgrade to free version of Xamarin: https://store.xamarin.com",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "NuGet authenticate\n\nThis version of the task is deprecated, use NuGetAuthenticateV1 instead. Configure NuGet tools to authenticate with Azure Artifacts and other NuGet repositories. Requires NuGet >= 4.8.5385, dotnet >= 2.1.400, or MSBuild >= 15.8.166.59604.",
              "ignoreCase": "value",
              "pattern": "^NuGetAuthenticate@0$"
            },
            "inputs": {
              "description": "NuGet authenticate inputs",
              "properties": {
                "nuGetServiceConnections": {
                  "type": "string",
                  "description": "Service connection credentials for feeds outside this organization",
                  "ignoreCase": "key"
                },
                "forceReinstallCredentialProvider": {
                  "type": "boolean",
                  "description": "Reinstall the credential provider even if already installed",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "deprecationMessage": "NuGetAuthenticate is deprecated - This version of the task is deprecated, use NuGetAuthenticateV1 instead. Configure NuGet tools to authenticate with Azure Artifacts and other NuGet repositories. Requires NuGet >= 4.8.5385, dotnet >= 2.1.400, or MSBuild >= 15.8.166.59604.",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "NuGet authenticate\n\nConfigure NuGet tools to authenticate with Azure Artifacts and other NuGet repositories. Requires NuGet >= 4.8.5385, dotnet >= 6, or MSBuild >= 15.8.166.59604",
              "ignoreCase": "value",
              "pattern": "^NuGetAuthenticate@1$"
            },
            "inputs": {
              "description": "NuGet authenticate inputs",
              "properties": {
                "nuGetServiceConnections": {
                  "type": "string",
                  "description": "Service connection credentials for feeds outside this organization",
                  "ignoreCase": "key"
                },
                "forceReinstallCredentialProvider": {
                  "type": "boolean",
                  "description": "Reinstall the credential provider even if already installed",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Download GitHub Nuget Packages\n\nRestore your nuget packages using dotnet CLI",
              "ignoreCase": "value",
              "pattern": "^DownloadGitHubNugetPackage@1$"
            },
            "inputs": {
              "description": "Download GitHub Nuget Packages inputs",
              "properties": {
                "packageName": {
                  "type": "string",
                  "description": "Package Name",
                  "ignoreCase": "key"
                },
                "version": {
                  "type": "string",
                  "description": "Package Version",
                  "ignoreCase": "key"
                },
                "externalFeedCredentials": {
                  "type": "string",
                  "description": "Credentials for feed from GitHub",
                  "ignoreCase": "key",
                  "aliases": [
                    "externalEndpoints"
                  ]
                },
                "restoreDirectory": {
                  "type": "string",
                  "description": "Destination directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "packagesDirectory"
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "packageName",
                "version"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Maven Authenticate\n\nProvides credentials for Azure Artifacts feeds and external maven repositories",
              "ignoreCase": "value",
              "pattern": "^MavenAuthenticate@0$"
            },
            "inputs": {
              "description": "Maven Authenticate inputs",
              "properties": {
                "artifactsFeeds": {
                  "type": "string",
                  "description": "Feeds",
                  "ignoreCase": "key"
                },
                "mavenServiceConnections": {
                  "type": "string",
                  "description": "Credentials for repositories outside this organization/collection",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Review App\n\nUse this task under deploy phase provider to create a resource dynamically",
              "ignoreCase": "value",
              "pattern": "^ReviewApp@0$"
            },
            "inputs": {
              "description": "Review App inputs",
              "properties": {
                "resourceName": {
                  "type": "string",
                  "description": "Resource name",
                  "ignoreCase": "key"
                },
                "baseEnvironmentName": {
                  "type": "string",
                  "description": "Environment name",
                  "ignoreCase": "key"
                },
                "reviewResourceName": {
                  "type": "string",
                  "description": "Review Resource Name",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "resourceName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Java tool installer\n\nAcquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME",
              "ignoreCase": "value",
              "pattern": "^JavaToolInstaller@0$"
            },
            "inputs": {
              "description": "Java tool installer inputs",
              "properties": {
                "versionSpec": {
                  "type": "string",
                  "description": "JDK version",
                  "ignoreCase": "key"
                },
                "jdkArchitectureOption": {
                  "description": "JDK architecture",
                  "ignoreCase": "all",
                  "enum": [
                    "x64",
                    "x86"
                  ]
                },
                "jdkSourceOption": {
                  "description": "JDK source",
                  "ignoreCase": "all",
                  "enum": [
                    "AzureStorage",
                    "LocalDirectory",
                    "PreInstalled"
                  ]
                },
                "jdkFile": {
                  "type": "string",
                  "description": "JDK file",
                  "ignoreCase": "key"
                },
                "azureResourceManagerEndpoint": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key"
                },
                "azureStorageAccountName": {
                  "type": "string",
                  "description": "Storage account name",
                  "ignoreCase": "key"
                },
                "azureContainerName": {
                  "type": "string",
                  "description": "Container name",
                  "ignoreCase": "key"
                },
                "azureCommonVirtualFile": {
                  "type": "string",
                  "description": "Common virtual path",
                  "ignoreCase": "key"
                },
                "jdkDestinationDirectory": {
                  "type": "string",
                  "description": "Destination directory",
                  "ignoreCase": "key"
                },
                "cleanDestinationDirectory": {
                  "type": "boolean",
                  "description": "Clean destination directory",
                  "ignoreCase": "key"
                },
                "createExtractDirectory": {
                  "type": "boolean",
                  "description": "Create directory for extracting",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "jdkArchitectureOption",
                "jdkSourceOption"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Chef\n\nDeploy to Chef environments by editing environment attributes",
              "ignoreCase": "value",
              "pattern": "^Chef@1$"
            },
            "inputs": {
              "description": "Chef inputs",
              "properties": {
                "connectedServiceName": {
                  "type": "string",
                  "description": "Chef Service Connection",
                  "ignoreCase": "key"
                },
                "Environment": {
                  "type": "string",
                  "description": "Environment",
                  "ignoreCase": "key"
                },
                "Attributes": {
                  "type": "string",
                  "description": "Environment Attributes",
                  "ignoreCase": "key"
                },
                "chefWaitTime": {
                  "type": "string",
                  "description": "Wait Time",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "connectedServiceName",
                "Environment",
                "Attributes"
              ]
            }
          },
          "deprecationMessage": "Chef is deprecated - Deploy to Chef environments by editing environment attributes",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure Functions Deploy\n\nUpdate a function app with .NET, Python, JavaScript, PowerShell, Java based web applications",
              "ignoreCase": "value",
              "pattern": "^AzureFunctionApp@2$"
            },
            "inputs": {
              "description": "Azure Functions Deploy inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key"
                },
                "appType": {
                  "description": "App type",
                  "ignoreCase": "all",
                  "enum": [
                    "functionApp",
                    "functionAppLinux"
                  ]
                },
                "appName": {
                  "type": "string",
                  "description": "Azure Functions App name",
                  "ignoreCase": "key"
                },
                "deployToSlotOrASE": {
                  "type": "boolean",
                  "description": "Deploy to Slot or App Service Environment",
                  "ignoreCase": "key"
                },
                "resourceGroupName": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "slotName": {
                  "type": "string",
                  "description": "Slot",
                  "ignoreCase": "key"
                },
                "package": {
                  "type": "string",
                  "description": "Package or folder",
                  "ignoreCase": "key"
                },
                "runtimeStack": {
                  "description": "Runtime stack",
                  "ignoreCase": "all",
                  "enum": [
                    "DOTNET|2.2",
                    "DOTNET|3.1",
                    "DOTNET|6.0",
                    "DOTNET-ISOLATED|7.0",
                    "JAVA|8",
                    "JAVA|11",
                    "NODE|8",
                    "NODE|10",
                    "NODE|12",
                    "NODE|14",
                    "NODE|16",
                    "NODE|18",
                    "PYTHON|3.6",
                    "PYTHON|3.7",
                    "PYTHON|3.8",
                    "PYTHON|3.9"
                  ]
                },
                "appSettings": {
                  "type": "string",
                  "description": "App settings",
                  "ignoreCase": "key"
                },
                "deploymentMethod": {
                  "description": "Deployment method",
                  "ignoreCase": "all",
                  "enum": [
                    "auto",
                    "zipDeploy",
                    "runFromPackage"
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription",
                "appType",
                "appName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure Functions\n\nUpdate a function app with .NET, Python, JavaScript, PowerShell, Java based web applications",
              "ignoreCase": "value",
              "pattern": "^AzureFunctionApp@1$"
            },
            "inputs": {
              "description": "Azure Functions inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key"
                },
                "appType": {
                  "description": "App type",
                  "ignoreCase": "all",
                  "enum": [
                    "functionApp",
                    "functionAppLinux"
                  ]
                },
                "appName": {
                  "type": "string",
                  "description": "Azure Functions App name",
                  "ignoreCase": "key"
                },
                "deployToSlotOrASE": {
                  "type": "boolean",
                  "description": "Deploy to Slot or App Service Environment",
                  "ignoreCase": "key"
                },
                "resourceGroupName": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "slotName": {
                  "type": "string",
                  "description": "Slot",
                  "ignoreCase": "key"
                },
                "package": {
                  "type": "string",
                  "description": "Package or folder",
                  "ignoreCase": "key"
                },
                "runtimeStack": {
                  "description": "Runtime stack",
                  "ignoreCase": "all",
                  "enum": [
                    "DOTNET|2.2",
                    "DOTNET|3.1",
                    "DOTNET|6.0",
                    "JAVA|8",
                    "JAVA|11",
                    "NODE|8",
                    "NODE|10",
                    "NODE|12",
                    "NODE|14",
                    "NODE|16",
                    "PYTHON|3.6",
                    "PYTHON|3.7",
                    "PYTHON|3.8",
                    "PYTHON|3.9"
                  ]
                },
                "startUpCommand": {
                  "type": "string",
                  "description": "Startup command ",
                  "ignoreCase": "key"
                },
                "customWebConfig": {
                  "type": "string",
                  "description": "Generate web.config parameters for Python, Node.js, Go and Java apps",
                  "ignoreCase": "key"
                },
                "appSettings": {
                  "type": "string",
                  "description": "App settings",
                  "ignoreCase": "key"
                },
                "configurationStrings": {
                  "type": "string",
                  "description": "Configuration settings",
                  "ignoreCase": "key"
                },
                "deploymentMethod": {
                  "description": "Deployment method",
                  "ignoreCase": "all",
                  "enum": [
                    "auto",
                    "zipDeploy",
                    "runFromPackage"
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription",
                "appType",
                "appName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "npm authenticate (for task runners)\n\nDon't use this task if you're also using the npm task. Provides npm credentials to an .npmrc file in your repository for the scope of the build. This enables npm task runners like gulp and Grunt to authenticate with private registries.",
              "ignoreCase": "value",
              "pattern": "^npmAuthenticate@0$"
            },
            "inputs": {
              "description": "npm authenticate (for task runners) inputs",
              "properties": {
                "workingFile": {
                  "type": "string",
                  "description": ".npmrc file to authenticate",
                  "ignoreCase": "key"
                },
                "customEndpoint": {
                  "type": "string",
                  "description": "Credentials for registries outside this organization/collection",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "workingFile"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "MSBuild\n\nBuild with MSBuild",
              "ignoreCase": "value",
              "pattern": "^MSBuild@1$"
            },
            "inputs": {
              "description": "MSBuild inputs",
              "properties": {
                "solution": {
                  "type": "string",
                  "description": "Project",
                  "ignoreCase": "key"
                },
                "msbuildLocationMethod": {
                  "description": "MSBuild",
                  "ignoreCase": "all",
                  "enum": [
                    "version",
                    "location"
                  ]
                },
                "msbuildVersion": {
                  "description": "MSBuild Version",
                  "ignoreCase": "all",
                  "enum": [
                    "latest",
                    "17.0",
                    "16.0",
                    "15.0",
                    "14.0",
                    "12.0",
                    "4.0"
                  ]
                },
                "msbuildArchitecture": {
                  "description": "MSBuild Architecture",
                  "ignoreCase": "all",
                  "enum": [
                    "x86",
                    "x64"
                  ]
                },
                "msbuildLocation": {
                  "type": "string",
                  "description": "Path to MSBuild",
                  "ignoreCase": "key"
                },
                "platform": {
                  "type": "string",
                  "description": "Platform",
                  "ignoreCase": "key"
                },
                "configuration": {
                  "type": "string",
                  "description": "Configuration",
                  "ignoreCase": "key"
                },
                "msbuildArguments": {
                  "type": "string",
                  "description": "MSBuild Arguments",
                  "ignoreCase": "key"
                },
                "clean": {
                  "type": "boolean",
                  "description": "Clean",
                  "ignoreCase": "key"
                },
                "maximumCpuCount": {
                  "type": "boolean",
                  "description": "Build in Parallel",
                  "ignoreCase": "key"
                },
                "restoreNugetPackages": {
                  "type": "boolean",
                  "description": "Restore NuGet Packages",
                  "ignoreCase": "key"
                },
                "logProjectEvents": {
                  "type": "boolean",
                  "description": "Record Project Details",
                  "ignoreCase": "key"
                },
                "createLogFile": {
                  "type": "boolean",
                  "description": "Create Log File",
                  "ignoreCase": "key"
                },
                "logFileVerbosity": {
                  "description": "Log File Verbosity",
                  "ignoreCase": "all",
                  "enum": [
                    "quiet",
                    "minimal",
                    "normal",
                    "detailed",
                    "diagnostic"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Build machine image\n\nBuild a machine image using Packer, which may be used for Azure Virtual machine scale set deployment",
              "ignoreCase": "value",
              "pattern": "^PackerBuild@0$"
            },
            "inputs": {
              "description": "Build machine image inputs",
              "properties": {
                "templateType": {
                  "description": "Packer template",
                  "ignoreCase": "all",
                  "enum": [
                    "builtin",
                    "custom"
                  ]
                },
                "customTemplateLocation": {
                  "type": "string",
                  "description": "Packer template location",
                  "ignoreCase": "key"
                },
                "customTemplateParameters": {
                  "type": "string",
                  "description": "Template parameters",
                  "ignoreCase": "key"
                },
                "ConnectedServiceName": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key"
                },
                "location": {
                  "type": "string",
                  "description": "Storage location",
                  "ignoreCase": "key"
                },
                "storageAccountName": {
                  "type": "string",
                  "description": "Storage account",
                  "ignoreCase": "key"
                },
                "azureResourceGroup": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "baseImageSource": {
                  "description": "Base image source",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "customVhd"
                  ]
                },
                "baseImage": {
                  "description": "Base image",
                  "ignoreCase": "all",
                  "enum": [
                    "MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows",
                    "MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows",
                    "MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows",
                    "MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows",
                    "Canonical:UbuntuServer:14.04.4-LTS:linux",
                    "Canonical:UbuntuServer:16.04-LTS:linux",
                    "RedHat:RHEL:7.2:linux",
                    "RedHat:RHEL:6.8:linux",
                    "OpenLogic:CentOS:7.2:linux",
                    "OpenLogic:CentOS:6.8:linux",
                    "credativ:Debian:8:linux",
                    "credativ:Debian:7:linux",
                    "SUSE:openSUSE-Leap:42.2:linux",
                    "SUSE:SLES:12-SP2:linux",
                    "SUSE:SLES:11-SP4:linux"
                  ]
                },
                "customImageUrl": {
                  "type": "string",
                  "description": "Base image URL",
                  "ignoreCase": "key"
                },
                "customImageOSType": {
                  "description": "Base image OS",
                  "ignoreCase": "all",
                  "enum": [
                    "windows",
                    "linux"
                  ]
                },
                "packagePath": {
                  "type": "string",
                  "description": "Deployment Package",
                  "ignoreCase": "key"
                },
                "deployScriptPath": {
                  "type": "string",
                  "description": "Deployment script",
                  "ignoreCase": "key"
                },
                "deployScriptArguments": {
                  "type": "string",
                  "description": "Deployment script arguments",
                  "ignoreCase": "key"
                },
                "additionalBuilderParameters": {
                  "type": "string",
                  "description": "Additional Builder parameters",
                  "ignoreCase": "key"
                },
                "skipTempFileCleanupDuringVMDeprovision": {
                  "type": "boolean",
                  "description": "Skip temporary file cleanup during deprovision",
                  "ignoreCase": "key"
                },
                "imageUri": {
                  "type": "string",
                  "description": "Image URL",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "ConnectedServiceName",
                "location",
                "storageAccountName",
                "azureResourceGroup",
                "packagePath",
                "deployScriptPath"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Build machine image\n\nBuild a machine image using Packer, which may be used for Azure Virtual machine scale set deployment",
              "ignoreCase": "value",
              "pattern": "^PackerBuild@1$"
            },
            "inputs": {
              "description": "Build machine image inputs",
              "properties": {
                "templateType": {
                  "description": "Packer template",
                  "ignoreCase": "all",
                  "enum": [
                    "builtin",
                    "custom"
                  ]
                },
                "customTemplateLocation": {
                  "type": "string",
                  "description": "Packer template location",
                  "ignoreCase": "key"
                },
                "customTemplateParameters": {
                  "type": "string",
                  "description": "Template parameters",
                  "ignoreCase": "key"
                },
                "ConnectedServiceName": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key"
                },
                "isManagedImage": {
                  "type": "boolean",
                  "description": "Managed VM disk image",
                  "ignoreCase": "key"
                },
                "managedImageName": {
                  "type": "string",
                  "description": "Managed VM Disk Image Name ",
                  "ignoreCase": "key"
                },
                "location": {
                  "type": "string",
                  "description": "Storage location",
                  "ignoreCase": "key"
                },
                "storageAccountName": {
                  "type": "string",
                  "description": "Storage account",
                  "ignoreCase": "key"
                },
                "azureResourceGroup": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "baseImageSource": {
                  "description": "Base image source",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "customVhd"
                  ]
                },
                "baseImage": {
                  "description": "Base image",
                  "ignoreCase": "all",
                  "enum": [
                    "MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows",
                    "MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows",
                    "MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows",
                    "MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows",
                    "Canonical:UbuntuServer:14.04.4-LTS:linux",
                    "Canonical:UbuntuServer:16.04-LTS:linux",
                    "Canonical:UbuntuServer:18.04-LTS:linux",
                    "RedHat:RHEL:7.2:linux",
                    "RedHat:RHEL:6.8:linux",
                    "OpenLogic:CentOS:7.2:linux",
                    "OpenLogic:CentOS:6.8:linux",
                    "credativ:Debian:8:linux",
                    "credativ:Debian:7:linux",
                    "SUSE:openSUSE-Leap:42.2:linux",
                    "SUSE:SLES:12-SP2:linux",
                    "SUSE:SLES:11-SP4:linux"
                  ]
                },
                "customImageUrl": {
                  "type": "string",
                  "description": "Base image URL",
                  "ignoreCase": "key"
                },
                "customImageOSType": {
                  "description": "Base image OS",
                  "ignoreCase": "all",
                  "enum": [
                    "windows",
                    "linux"
                  ]
                },
                "packagePath": {
                  "type": "string",
                  "description": "Deployment Package",
                  "ignoreCase": "key"
                },
                "deployScriptPath": {
                  "type": "string",
                  "description": "Deployment script",
                  "ignoreCase": "key"
                },
                "deployScriptArguments": {
                  "type": "string",
                  "description": "Deployment script arguments",
                  "ignoreCase": "key"
                },
                "additionalBuilderParameters": {
                  "type": "string",
                  "description": "Additional Builder parameters",
                  "ignoreCase": "key"
                },
                "skipTempFileCleanupDuringVMDeprovision": {
                  "type": "boolean",
                  "description": "Skip temporary file cleanup during deprovision",
                  "ignoreCase": "key"
                },
                "packerVersion": {
                  "type": "string",
                  "description": "Packer Version",
                  "ignoreCase": "key"
                },
                "imageUri": {
                  "type": "string",
                  "description": "Image URL or Name",
                  "ignoreCase": "key"
                },
                "imageId": {
                  "type": "string",
                  "description": "Azure Resource Id",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "ConnectedServiceName",
                "location",
                "storageAccountName",
                "azureResourceGroup",
                "packagePath",
                "deployScriptPath"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "NuGet packager\n\nDeprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.",
              "ignoreCase": "value",
              "pattern": "^NuGetPackager@0$"
            },
            "inputs": {
              "description": "NuGet packager inputs",
              "properties": {
                "searchPattern": {
                  "type": "string",
                  "description": "Path to csproj or nuspec file(s) to pack",
                  "ignoreCase": "key"
                },
                "outputdir": {
                  "type": "string",
                  "description": "Package Folder",
                  "ignoreCase": "key"
                },
                "includeReferencedProjects": {
                  "type": "boolean",
                  "description": "Include referenced projects",
                  "ignoreCase": "key"
                },
                "versionByBuild": {
                  "description": "Automatic package versioning",
                  "ignoreCase": "all",
                  "enum": [
                    "false",
                    "byPrereleaseNumber",
                    "byEnvVar",
                    "true"
                  ]
                },
                "versionEnvVar": {
                  "type": "string",
                  "description": "Environment variable",
                  "ignoreCase": "key"
                },
                "requestedMajorVersion": {
                  "type": "string",
                  "description": "Major",
                  "ignoreCase": "key"
                },
                "requestedMinorVersion": {
                  "type": "string",
                  "description": "Minor",
                  "ignoreCase": "key"
                },
                "requestedPatchVersion": {
                  "type": "string",
                  "description": "Patch",
                  "ignoreCase": "key"
                },
                "configurationToPack": {
                  "type": "string",
                  "description": "Configuration to Package",
                  "ignoreCase": "key"
                },
                "buildProperties": {
                  "type": "string",
                  "description": "Additional build properties",
                  "ignoreCase": "key"
                },
                "nuGetAdditionalArgs": {
                  "type": "string",
                  "description": "NuGet Arguments",
                  "ignoreCase": "key"
                },
                "nuGetPath": {
                  "type": "string",
                  "description": "Path to NuGet.exe",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "deprecationMessage": "NuGetPackager is deprecated - Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Duffle tool installer\n\nInstall a specified version of Duffle for installing and managing CNAB bundles",
              "ignoreCase": "value",
              "pattern": "^DuffleInstaller@0$"
            },
            "inputs": {
              "description": "Duffle tool installer inputs",
              "properties": {
                "version": {
                  "type": "string",
                  "description": "Version",
                  "ignoreCase": "key"
                },
                "checkLatestVersion": {
                  "type": "boolean",
                  "description": "Check for latest version",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Update Service Fabric App Versions\n\nAutomatically updates the versions of a packaged Service Fabric application.",
              "ignoreCase": "value",
              "pattern": "^ServiceFabricUpdateAppVersions@1$"
            },
            "inputs": {
              "description": "Update Service Fabric App Versions inputs",
              "properties": {
                "applicationPackagePath": {
                  "type": "string",
                  "description": "Application Package",
                  "ignoreCase": "key"
                },
                "versionSuffix": {
                  "type": "string",
                  "description": "Version Value",
                  "ignoreCase": "key"
                },
                "versionBehavior": {
                  "description": "Version Behavior",
                  "ignoreCase": "all",
                  "enum": [
                    "Append",
                    "Replace"
                  ]
                },
                "updateOnlyChanged": {
                  "type": "boolean",
                  "description": "Update only if changed",
                  "ignoreCase": "key"
                },
                "pkgArtifactName": {
                  "type": "string",
                  "description": "Package Artifact Name",
                  "ignoreCase": "key"
                },
                "logAllChanges": {
                  "type": "boolean",
                  "description": "Log all changes",
                  "ignoreCase": "key"
                },
                "compareType": {
                  "description": "Compare against",
                  "ignoreCase": "all",
                  "enum": [
                    "LastSuccessful",
                    "Specific"
                  ]
                },
                "buildNumber": {
                  "type": "string",
                  "description": "Build Number",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "applicationPackagePath"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Update Service Fabric manifests\n\nAutomatically update portions of application and service manifests in a packaged Azure Service Fabric application",
              "ignoreCase": "value",
              "pattern": "^ServiceFabricUpdateManifests@2$"
            },
            "inputs": {
              "description": "Update Service Fabric manifests inputs",
              "properties": {
                "updateType": {
                  "description": "Update Type",
                  "ignoreCase": "all",
                  "enum": [
                    "Manifest versions",
                    "Docker image settings"
                  ]
                },
                "applicationPackagePath": {
                  "type": "string",
                  "description": "Application Package",
                  "ignoreCase": "key"
                },
                "versionSuffix": {
                  "type": "string",
                  "description": "Version Value",
                  "ignoreCase": "key"
                },
                "versionBehavior": {
                  "description": "Version Behavior",
                  "ignoreCase": "all",
                  "enum": [
                    "Append",
                    "Replace"
                  ]
                },
                "updateOnlyChanged": {
                  "type": "boolean",
                  "description": "Update only if changed",
                  "ignoreCase": "key"
                },
                "pkgArtifactName": {
                  "type": "string",
                  "description": "Package Artifact Name",
                  "ignoreCase": "key"
                },
                "logAllChanges": {
                  "type": "boolean",
                  "description": "Log all changes",
                  "ignoreCase": "key"
                },
                "compareType": {
                  "description": "Compare against",
                  "ignoreCase": "all",
                  "enum": [
                    "LastSuccessful",
                    "Specific"
                  ]
                },
                "buildNumber": {
                  "type": "string",
                  "description": "Build Number",
                  "ignoreCase": "key"
                },
                "overwriteExistingPkgArtifact": {
                  "type": "boolean",
                  "description": "Overwrite Existing Package Artifact",
                  "ignoreCase": "key"
                },
                "imageNamesPath": {
                  "type": "string",
                  "description": "Image Names Path",
                  "ignoreCase": "key"
                },
                "imageDigestsPath": {
                  "type": "string",
                  "description": "Image Digests Path",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "applicationPackagePath"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Query Azure Monitor alerts\n\nObserve the configured Azure Monitor rules for active alerts",
              "ignoreCase": "value",
              "pattern": "^AzureMonitor@1$"
            },
            "inputs": {
              "description": "Query Azure Monitor alerts inputs",
              "properties": {
                "connectedServiceNameARM": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key"
                },
                "ResourceGroupName": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "filterType": {
                  "description": "Filter type",
                  "ignoreCase": "all",
                  "enum": [
                    "resource",
                    "alertrule",
                    "none"
                  ]
                },
                "resource": {
                  "type": "string",
                  "description": "Resource",
                  "ignoreCase": "key"
                },
                "alertRule": {
                  "type": "string",
                  "description": "Alert rule",
                  "ignoreCase": "key"
                },
                "severity": {
                  "description": "Severity",
                  "ignoreCase": "all",
                  "enum": [
                    "Sev0",
                    "Sev1",
                    "Sev2",
                    "Sev3",
                    "Sev4"
                  ]
                },
                "timeRange": {
                  "description": "Time range",
                  "ignoreCase": "all",
                  "enum": [
                    "1h",
                    "1d",
                    "7d",
                    "30d"
                  ]
                },
                "alertState": {
                  "description": "Alert state",
                  "ignoreCase": "all",
                  "enum": [
                    "New",
                    "Acknowledged",
                    "Closed"
                  ]
                },
                "monitorCondition": {
                  "description": "Monitor condition",
                  "ignoreCase": "all",
                  "enum": [
                    "Fired ",
                    "Resolved"
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "connectedServiceNameARM",
                "ResourceGroupName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Query Classic Azure Monitor alerts\n\nObserve the configured classic Azure Monitor rules for active alerts",
              "ignoreCase": "value",
              "pattern": "^AzureMonitor@0$"
            },
            "inputs": {
              "description": "Query Classic Azure Monitor alerts inputs",
              "properties": {
                "connectedServiceNameARM": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key"
                },
                "ResourceGroupName": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "ResourceType": {
                  "description": "Resource type",
                  "ignoreCase": "all",
                  "enum": [
                    "Microsoft.Insights/components",
                    "Microsoft.Web/sites",
                    "Microsoft.Storage/storageAccounts",
                    "Microsoft.Compute/virtualMachines"
                  ]
                },
                "resourceName": {
                  "type": "string",
                  "description": "Resource name",
                  "ignoreCase": "key"
                },
                "alertRules": {
                  "type": "string",
                  "description": "Alert rules",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "connectedServiceNameARM",
                "ResourceGroupName",
                "resourceName",
                "alertRules"
              ]
            }
          },
          "deprecationMessage": "AzureMonitor is deprecated - Observe the configured classic Azure Monitor rules for active alerts",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure Network Load Balancer\n\nConnect or disconnect an Azure virtual machine's network interface to a Load Balancer's back end address pool",
              "ignoreCase": "value",
              "pattern": "^AzureNLBManagement@1$"
            },
            "inputs": {
              "description": "Azure Network Load Balancer inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "ResourceGroupName": {
                  "type": "string",
                  "description": "Resource Group",
                  "ignoreCase": "key"
                },
                "LoadBalancer": {
                  "type": "string",
                  "description": "Load Balancer Name",
                  "ignoreCase": "key"
                },
                "Action": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "Disconnect",
                    "Connect"
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription",
                "ResourceGroupName",
                "LoadBalancer",
                "Action"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Cloud-based Apache JMeter load test\n\nRun an Apache JMeter load test in the cloud",
              "ignoreCase": "value",
              "pattern": "^ApacheJMeterLoadTest@1$"
            },
            "inputs": {
              "description": "Cloud-based Apache JMeter load test inputs",
              "properties": {
                "connectedServiceName": {
                  "type": "string",
                  "description": "Azure Pipelines Connection",
                  "ignoreCase": "key"
                },
                "TestDrop": {
                  "type": "string",
                  "description": "Apache JMeter test files folder",
                  "ignoreCase": "key"
                },
                "LoadTest": {
                  "type": "string",
                  "description": "Apache JMeter file",
                  "ignoreCase": "key"
                },
                "agentCount": {
                  "description": "Agent Count",
                  "ignoreCase": "all",
                  "enum": [
                    "1",
                    "2",
                    "3",
                    "4",
                    "5"
                  ]
                },
                "runDuration": {
                  "description": "Run Duration (sec)",
                  "ignoreCase": "all",
                  "enum": [
                    "60",
                    "120",
                    "180",
                    "240",
                    "300"
                  ]
                },
                "geoLocation": {
                  "description": "Load Location",
                  "ignoreCase": "all",
                  "enum": [
                    "Default",
                    "Australia East",
                    "Australia Southeast",
                    "Brazil South",
                    "Central India",
                    "Central US",
                    "East Asia",
                    "East US 2",
                    "East US",
                    "Japan East",
                    "Japan West",
                    "North Central US",
                    "North Europe",
                    "South Central US",
                    "South India",
                    "Southeast Asia",
                    "West Europe",
                    "West US"
                  ]
                },
                "machineType": {
                  "description": "Run load test using",
                  "ignoreCase": "all",
                  "enum": [
                    "0",
                    "2"
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "TestDrop"
              ]
            }
          },
          "deprecationMessage": "ApacheJMeterLoadTest is deprecated - Run an Apache JMeter load test in the cloud",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Docker Compose\n\nBuild, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.",
              "ignoreCase": "value",
              "pattern": "^DockerCompose@0$"
            },
            "inputs": {
              "description": "Docker Compose inputs",
              "properties": {
                "containerregistrytype": {
                  "description": "Container Registry Type",
                  "ignoreCase": "all",
                  "enum": [
                    "Azure Container Registry",
                    "Container Registry"
                  ]
                },
                "dockerRegistryEndpoint": {
                  "type": "string",
                  "description": "Docker Registry Service Connection",
                  "ignoreCase": "key"
                },
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "azureSubscriptionEndpoint"
                  ]
                },
                "azureContainerRegistry": {
                  "type": "string",
                  "description": "Azure Container Registry",
                  "ignoreCase": "key"
                },
                "dockerComposeFile": {
                  "type": "string",
                  "description": "Docker Compose File",
                  "ignoreCase": "key"
                },
                "additionalDockerComposeFiles": {
                  "type": "string",
                  "description": "Additional Docker Compose Files",
                  "ignoreCase": "key"
                },
                "dockerComposeFileArgs": {
                  "type": "string",
                  "description": "Environment Variables",
                  "ignoreCase": "key"
                },
                "projectName": {
                  "type": "string",
                  "description": "Project Name",
                  "ignoreCase": "key"
                },
                "qualifyImageNames": {
                  "type": "boolean",
                  "description": "Qualify Image Names",
                  "ignoreCase": "key"
                },
                "action": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "Build services",
                    "Push services",
                    "Run services",
                    "Run a specific service",
                    "Lock services",
                    "Write service image digests",
                    "Combine configuration",
                    "Run a Docker Compose command"
                  ]
                },
                "additionalImageTags": {
                  "type": "string",
                  "description": "Additional Image Tags",
                  "ignoreCase": "key"
                },
                "includeSourceTags": {
                  "type": "boolean",
                  "description": "Include Source Tags",
                  "ignoreCase": "key"
                },
                "includeLatestTag": {
                  "type": "boolean",
                  "description": "Include Latest Tag",
                  "ignoreCase": "key"
                },
                "buildImages": {
                  "type": "boolean",
                  "description": "Build Images",
                  "ignoreCase": "key"
                },
                "serviceName": {
                  "type": "string",
                  "description": "Service Name",
                  "ignoreCase": "key"
                },
                "containerName": {
                  "type": "string",
                  "description": "Container Name",
                  "ignoreCase": "key"
                },
                "ports": {
                  "type": "string",
                  "description": "Ports",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "workDir"
                  ]
                },
                "entrypoint": {
                  "type": "string",
                  "description": "Entry Point Override",
                  "ignoreCase": "key"
                },
                "containerCommand": {
                  "type": "string",
                  "description": "Command",
                  "ignoreCase": "key"
                },
                "detached": {
                  "type": "boolean",
                  "description": "Run in Background",
                  "ignoreCase": "key"
                },
                "abortOnContainerExit": {
                  "type": "boolean",
                  "description": "Abort on Container Exit",
                  "ignoreCase": "key"
                },
                "imageDigestComposeFile": {
                  "type": "string",
                  "description": "Image Digest Compose File",
                  "ignoreCase": "key"
                },
                "removeBuildOptions": {
                  "type": "boolean",
                  "description": "Remove Build Options",
                  "ignoreCase": "key"
                },
                "baseResolveDirectory": {
                  "type": "string",
                  "description": "Base Resolve Directory",
                  "ignoreCase": "key"
                },
                "outputDockerComposeFile": {
                  "type": "string",
                  "description": "Output Docker Compose File",
                  "ignoreCase": "key"
                },
                "dockerComposeCommand": {
                  "type": "string",
                  "description": "Command",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "dockerHostEndpoint": {
                  "type": "string",
                  "description": "Docker Host Service Connection",
                  "ignoreCase": "key"
                },
                "nopIfNoDockerComposeFile": {
                  "type": "boolean",
                  "description": "No-op if no Docker Compose File",
                  "ignoreCase": "key"
                },
                "requireAdditionalDockerComposeFiles": {
                  "type": "boolean",
                  "description": "Require Additional Docker Compose Files",
                  "ignoreCase": "key"
                },
                "currentWorkingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "dockerComposePath": {
                  "type": "string",
                  "description": "Docker Compose executable Path",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure Monitor alerts (Deprecated)\n\nConfigure alerts on available metrics for an Azure resource (Deprecated)",
              "ignoreCase": "value",
              "pattern": "^AzureMonitorAlerts@0$"
            },
            "inputs": {
              "description": "Azure Monitor alerts (Deprecated) inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "ResourceGroupName": {
                  "type": "string",
                  "description": "Resource Group",
                  "ignoreCase": "key"
                },
                "ResourceType": {
                  "description": "Resource Type",
                  "ignoreCase": "all",
                  "enum": [
                    "Microsoft.Insights/components",
                    "Microsoft.Web/sites",
                    "Microsoft.Storage/storageAccounts",
                    "Microsoft.Compute/virtualMachines"
                  ]
                },
                "ResourceName": {
                  "type": "string",
                  "description": "Resource name",
                  "ignoreCase": "key"
                },
                "AlertRules": {
                  "type": "string",
                  "description": "Alert rules",
                  "ignoreCase": "key"
                },
                "NotifyServiceOwners": {
                  "type": "boolean",
                  "description": "Subscription owners, contributors and readers",
                  "ignoreCase": "key"
                },
                "NotifyEmails": {
                  "type": "string",
                  "description": "Additional administrator emails",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription",
                "ResourceGroupName",
                "ResourceName",
                "AlertRules"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Xamarin Test Cloud\n\n[Deprecated] Test mobile apps with Xamarin Test Cloud using Xamarin.UITest. Instead, use the 'App Center test' task.",
              "ignoreCase": "value",
              "pattern": "^XamarinTestCloud@1$"
            },
            "inputs": {
              "description": "Xamarin Test Cloud inputs",
              "properties": {
                "appFile": {
                  "type": "string",
                  "description": "App file",
                  "ignoreCase": "key",
                  "aliases": [
                    "app"
                  ]
                },
                "dsymFile": {
                  "type": "string",
                  "description": "dSYM file (iOS only)",
                  "ignoreCase": "key",
                  "aliases": [
                    "dsym"
                  ]
                },
                "teamApiKey": {
                  "type": "string",
                  "description": "Team API key",
                  "ignoreCase": "key"
                },
                "email": {
                  "type": "string",
                  "description": "User email",
                  "ignoreCase": "key",
                  "aliases": [
                    "user"
                  ]
                },
                "devices": {
                  "type": "string",
                  "description": "Devices",
                  "ignoreCase": "key"
                },
                "series": {
                  "type": "string",
                  "description": "Series",
                  "ignoreCase": "key"
                },
                "testAssemblyDirectory": {
                  "type": "string",
                  "description": "Test assembly directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "testDir"
                  ]
                },
                "parallelizationOption": {
                  "description": "Parallelization",
                  "ignoreCase": "all",
                  "enum": [
                    "none",
                    "--fixture-chunk",
                    "--test-chunk"
                  ],
                  "aliases": [
                    "parallelization"
                  ]
                },
                "localeOption": {
                  "description": "System language",
                  "ignoreCase": "all",
                  "enum": [
                    "da_DK",
                    "nl_NL",
                    "en_GB",
                    "en_US",
                    "fr_FR",
                    "de_DE",
                    "ja_JP",
                    "ru_RU",
                    "es_MX",
                    "es_ES",
                    "user"
                  ],
                  "aliases": [
                    "locale"
                  ]
                },
                "userDefinedLocale": {
                  "type": "string",
                  "description": "Other locale",
                  "ignoreCase": "key"
                },
                "testCloudFile": {
                  "type": "string",
                  "description": "test-cloud.exe location",
                  "ignoreCase": "key",
                  "aliases": [
                    "testCloudLocation"
                  ]
                },
                "optionalArgs": {
                  "type": "string",
                  "description": "Optional arguments",
                  "ignoreCase": "key"
                },
                "publishNUnitResults": {
                  "type": "boolean",
                  "description": "Publish results to Azure Pipelines",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "appFile",
                "teamApiKey",
                "email",
                "devices",
                "testAssemblyDirectory"
              ]
            }
          },
          "deprecationMessage": "XamarinTestCloud is deprecated - [Deprecated] Test mobile apps with Xamarin Test Cloud using Xamarin.UITest. Instead, use the 'App Center test' task.",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Service Fabric application deployment\n\nDeploy an Azure Service Fabric application to a cluster",
              "ignoreCase": "value",
              "pattern": "^ServiceFabricDeploy@1$"
            },
            "inputs": {
              "description": "Service Fabric application deployment inputs",
              "properties": {
                "applicationPackagePath": {
                  "type": "string",
                  "description": "Application Package",
                  "ignoreCase": "key"
                },
                "serviceConnectionName": {
                  "type": "string",
                  "description": "Cluster Service Connection",
                  "ignoreCase": "key"
                },
                "publishProfilePath": {
                  "type": "string",
                  "description": "Publish Profile",
                  "ignoreCase": "key"
                },
                "applicationParameterPath": {
                  "type": "string",
                  "description": "Application Parameters",
                  "ignoreCase": "key"
                },
                "overrideApplicationParameter": {
                  "type": "boolean",
                  "description": "Override Application Parameters",
                  "ignoreCase": "key"
                },
                "compressPackage": {
                  "type": "boolean",
                  "description": "Compress Package",
                  "ignoreCase": "key"
                },
                "copyPackageTimeoutSec": {
                  "type": "string",
                  "description": "CopyPackageTimeoutSec",
                  "ignoreCase": "key"
                },
                "registerPackageTimeoutSec": {
                  "type": "string",
                  "description": "RegisterPackageTimeoutSec",
                  "ignoreCase": "key"
                },
                "overwriteBehavior": {
                  "description": "Overwrite Behavior",
                  "ignoreCase": "all",
                  "enum": [
                    "Always",
                    "Never",
                    "SameAppTypeAndVersion"
                  ]
                },
                "skipUpgradeSameTypeAndVersion": {
                  "type": "boolean",
                  "description": "Skip upgrade for same Type and Version",
                  "ignoreCase": "key"
                },
                "skipPackageValidation": {
                  "type": "boolean",
                  "description": "Skip package validation",
                  "ignoreCase": "key"
                },
                "useDiffPackage": {
                  "type": "boolean",
                  "description": "Use Diff Package",
                  "ignoreCase": "key"
                },
                "overridePublishProfileSettings": {
                  "type": "boolean",
                  "description": "Override All Publish Profile Upgrade Settings",
                  "ignoreCase": "key"
                },
                "isUpgrade": {
                  "type": "boolean",
                  "description": "Upgrade the Application",
                  "ignoreCase": "key"
                },
                "unregisterUnusedVersions": {
                  "type": "boolean",
                  "description": "Unregister Unused Versions",
                  "ignoreCase": "key"
                },
                "upgradeMode": {
                  "description": "Upgrade Mode",
                  "ignoreCase": "all",
                  "enum": [
                    "Monitored",
                    "UnmonitoredAuto",
                    "UnmonitoredManual"
                  ]
                },
                "FailureAction": {
                  "description": "FailureAction",
                  "ignoreCase": "all",
                  "enum": [
                    "Rollback",
                    "Manual"
                  ]
                },
                "UpgradeReplicaSetCheckTimeoutSec": {
                  "type": "string",
                  "description": "UpgradeReplicaSetCheckTimeoutSec",
                  "ignoreCase": "key"
                },
                "TimeoutSec": {
                  "type": "string",
                  "description": "TimeoutSec",
                  "ignoreCase": "key"
                },
                "ForceRestart": {
                  "type": "boolean",
                  "description": "ForceRestart",
                  "ignoreCase": "key"
                },
                "HealthCheckRetryTimeoutSec": {
                  "type": "string",
                  "description": "HealthCheckRetryTimeoutSec",
                  "ignoreCase": "key"
                },
                "HealthCheckWaitDurationSec": {
                  "type": "string",
                  "description": "HealthCheckWaitDurationSec",
                  "ignoreCase": "key"
                },
                "HealthCheckStableDurationSec": {
                  "type": "string",
                  "description": "HealthCheckStableDurationSec",
                  "ignoreCase": "key"
                },
                "UpgradeDomainTimeoutSec": {
                  "type": "string",
                  "description": "UpgradeDomainTimeoutSec",
                  "ignoreCase": "key"
                },
                "ConsiderWarningAsError": {
                  "type": "boolean",
                  "description": "ConsiderWarningAsError",
                  "ignoreCase": "key"
                },
                "DefaultServiceTypeHealthPolicy": {
                  "type": "string",
                  "description": "DefaultServiceTypeHealthPolicy",
                  "ignoreCase": "key"
                },
                "MaxPercentUnhealthyDeployedApplications": {
                  "type": "string",
                  "description": "MaxPercentUnhealthyDeployedApplications",
                  "ignoreCase": "key"
                },
                "UpgradeTimeoutSec": {
                  "type": "string",
                  "description": "UpgradeTimeoutSec",
                  "ignoreCase": "key"
                },
                "ServiceTypeHealthPolicyMap": {
                  "type": "string",
                  "description": "ServiceTypeHealthPolicyMap",
                  "ignoreCase": "key"
                },
                "configureDockerSettings": {
                  "type": "boolean",
                  "description": "Configure Docker settings",
                  "ignoreCase": "key"
                },
                "registryCredentials": {
                  "description": "Registry Credentials Source",
                  "ignoreCase": "all",
                  "enum": [
                    "AzureResourceManagerEndpoint",
                    "ContainerRegistryEndpoint",
                    "UsernamePassword"
                  ]
                },
                "dockerRegistryConnection": {
                  "type": "string",
                  "description": "Docker Registry Service Connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "dockerRegistryEndpoint"
                  ]
                },
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "azureSubscriptionEndpoint"
                  ]
                },
                "registryUserName": {
                  "type": "string",
                  "description": "Registry User Name",
                  "ignoreCase": "key"
                },
                "registryPassword": {
                  "type": "string",
                  "description": "Registry Password",
                  "ignoreCase": "key"
                },
                "passwordEncrypted": {
                  "type": "boolean",
                  "description": "Password Encrypted",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "applicationPackagePath",
                "serviceConnectionName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Xcode\n\nBuild, test, or archive an Xcode workspace on macOS. Optionally package an app.",
              "ignoreCase": "value",
              "pattern": "^Xcode@5$"
            },
            "inputs": {
              "description": "Xcode inputs",
              "properties": {
                "actions": {
                  "type": "string",
                  "description": "Actions",
                  "ignoreCase": "key"
                },
                "configuration": {
                  "type": "string",
                  "description": "Configuration",
                  "ignoreCase": "key"
                },
                "sdk": {
                  "type": "string",
                  "description": "SDK",
                  "ignoreCase": "key"
                },
                "xcWorkspacePath": {
                  "type": "string",
                  "description": "Workspace or project path",
                  "ignoreCase": "key"
                },
                "scheme": {
                  "type": "string",
                  "description": "Scheme",
                  "ignoreCase": "key"
                },
                "xcodeVersion": {
                  "description": "Xcode version",
                  "ignoreCase": "all",
                  "enum": [
                    "8",
                    "9",
                    "10",
                    "11",
                    "12",
                    "13",
                    "default",
                    "specifyPath"
                  ]
                },
                "xcodeDeveloperDir": {
                  "type": "string",
                  "description": "Xcode developer path",
                  "ignoreCase": "key"
                },
                "packageApp": {
                  "type": "boolean",
                  "description": "Create app package",
                  "ignoreCase": "key"
                },
                "archivePath": {
                  "type": "string",
                  "description": "Archive path",
                  "ignoreCase": "key"
                },
                "exportPath": {
                  "type": "string",
                  "description": "Export path",
                  "ignoreCase": "key"
                },
                "exportOptions": {
                  "description": "Export options",
                  "ignoreCase": "all",
                  "enum": [
                    "auto",
                    "plist",
                    "specify"
                  ]
                },
                "exportMethod": {
                  "type": "string",
                  "description": "Export method",
                  "ignoreCase": "key"
                },
                "exportTeamId": {
                  "type": "string",
                  "description": "Team ID",
                  "ignoreCase": "key"
                },
                "exportOptionsPlist": {
                  "type": "string",
                  "description": "Export options plist",
                  "ignoreCase": "key"
                },
                "exportArgs": {
                  "type": "string",
                  "description": "Export arguments",
                  "ignoreCase": "key"
                },
                "signingOption": {
                  "description": "Signing style",
                  "ignoreCase": "all",
                  "enum": [
                    "nosign",
                    "default",
                    "manual",
                    "auto"
                  ]
                },
                "signingIdentity": {
                  "type": "string",
                  "description": "Signing identity",
                  "ignoreCase": "key"
                },
                "provisioningProfileUuid": {
                  "type": "string",
                  "description": "Provisioning profile UUID",
                  "ignoreCase": "key"
                },
                "provisioningProfileName": {
                  "type": "string",
                  "description": "Provisioning profile name",
                  "ignoreCase": "key"
                },
                "teamId": {
                  "type": "string",
                  "description": "Team ID",
                  "ignoreCase": "key"
                },
                "destinationPlatformOption": {
                  "description": "Destination platform",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "iOS",
                    "tvOS",
                    "macOS",
                    "custom"
                  ]
                },
                "destinationPlatform": {
                  "type": "string",
                  "description": "Custom destination platform",
                  "ignoreCase": "key"
                },
                "destinationTypeOption": {
                  "description": "Destination type",
                  "ignoreCase": "all",
                  "enum": [
                    "simulators",
                    "devices"
                  ]
                },
                "destinationSimulators": {
                  "type": "string",
                  "description": "Simulator",
                  "ignoreCase": "key"
                },
                "destinationDevices": {
                  "type": "string",
                  "description": "Device",
                  "ignoreCase": "key"
                },
                "args": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "useXcpretty": {
                  "type": "boolean",
                  "description": "Use xcpretty",
                  "ignoreCase": "key"
                },
                "xcprettyArgs": {
                  "type": "string",
                  "description": "Xcpretty arguments",
                  "ignoreCase": "key"
                },
                "publishJUnitResults": {
                  "type": "boolean",
                  "description": "Publish test results to Azure Pipelines",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test run title",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Xcode Build\n\nBuild an Xcode workspace on macOS",
              "ignoreCase": "value",
              "pattern": "^Xcode@3$"
            },
            "inputs": {
              "description": "Xcode Build inputs",
              "properties": {
                "actions": {
                  "type": "string",
                  "description": "Actions",
                  "ignoreCase": "key"
                },
                "configuration": {
                  "type": "string",
                  "description": "Configuration",
                  "ignoreCase": "key"
                },
                "sdk": {
                  "type": "string",
                  "description": "SDK",
                  "ignoreCase": "key"
                },
                "xcWorkspacePath": {
                  "type": "string",
                  "description": "Workspace/Project Path",
                  "ignoreCase": "key"
                },
                "scheme": {
                  "type": "string",
                  "description": "Scheme",
                  "ignoreCase": "key"
                },
                "packageApp": {
                  "type": "boolean",
                  "description": "Create App Package",
                  "ignoreCase": "key"
                },
                "archivePath": {
                  "type": "string",
                  "description": "Archive Path",
                  "ignoreCase": "key"
                },
                "exportPath": {
                  "type": "string",
                  "description": "Export Path",
                  "ignoreCase": "key"
                },
                "exportOptions": {
                  "description": "Export Options",
                  "ignoreCase": "all",
                  "enum": [
                    "auto",
                    "plist",
                    "specify"
                  ]
                },
                "exportMethod": {
                  "type": "string",
                  "description": "Export Method",
                  "ignoreCase": "key"
                },
                "exportTeamId": {
                  "type": "string",
                  "description": "Team ID",
                  "ignoreCase": "key"
                },
                "exportOptionsPlist": {
                  "type": "string",
                  "description": "Export Options Plist",
                  "ignoreCase": "key"
                },
                "exportArgs": {
                  "type": "string",
                  "description": "Export Arguments",
                  "ignoreCase": "key"
                },
                "xcode8AutomaticSigning": {
                  "type": "boolean",
                  "description": "Automatic Signing",
                  "ignoreCase": "key"
                },
                "teamId": {
                  "type": "string",
                  "description": "Team ID",
                  "ignoreCase": "key"
                },
                "signMethod": {
                  "description": "Override Using",
                  "ignoreCase": "all",
                  "enum": [
                    "file",
                    "id"
                  ]
                },
                "iosSigningIdentity": {
                  "type": "string",
                  "description": "Signing Identity",
                  "ignoreCase": "key"
                },
                "unlockDefaultKeychain": {
                  "type": "boolean",
                  "description": "Unlock Default Keychain",
                  "ignoreCase": "key"
                },
                "defaultKeychainPassword": {
                  "type": "string",
                  "description": "Default Keychain Password",
                  "ignoreCase": "key"
                },
                "provProfileUuid": {
                  "type": "string",
                  "description": "Provisioning Profile UUID",
                  "ignoreCase": "key"
                },
                "p12": {
                  "type": "string",
                  "description": "P12 Certificate File",
                  "ignoreCase": "key"
                },
                "p12pwd": {
                  "type": "string",
                  "description": "P12 Password",
                  "ignoreCase": "key"
                },
                "provProfile": {
                  "type": "string",
                  "description": "Provisioning Profile File",
                  "ignoreCase": "key"
                },
                "removeProfile": {
                  "type": "boolean",
                  "description": "Remove Profile After Build",
                  "ignoreCase": "key"
                },
                "args": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "cwd": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key"
                },
                "outputPattern": {
                  "type": "string",
                  "description": "Output Directory",
                  "ignoreCase": "key"
                },
                "xcodeDeveloperDir": {
                  "type": "string",
                  "description": "Xcode Developer Path",
                  "ignoreCase": "key"
                },
                "useXcpretty": {
                  "type": "boolean",
                  "description": "Use xcpretty",
                  "ignoreCase": "key"
                },
                "publishJUnitResults": {
                  "type": "boolean",
                  "description": "Publish to VSTS/TFS",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Xcode\n\nBuild, test, or archive an Xcode workspace on macOS. Optionally package an app.",
              "ignoreCase": "value",
              "pattern": "^Xcode@4$"
            },
            "inputs": {
              "description": "Xcode inputs",
              "properties": {
                "actions": {
                  "type": "string",
                  "description": "Actions",
                  "ignoreCase": "key"
                },
                "configuration": {
                  "type": "string",
                  "description": "Configuration",
                  "ignoreCase": "key"
                },
                "sdk": {
                  "type": "string",
                  "description": "SDK",
                  "ignoreCase": "key"
                },
                "xcWorkspacePath": {
                  "type": "string",
                  "description": "Workspace or project path",
                  "ignoreCase": "key"
                },
                "scheme": {
                  "type": "string",
                  "description": "Scheme",
                  "ignoreCase": "key"
                },
                "xcodeVersion": {
                  "description": "Xcode version",
                  "ignoreCase": "all",
                  "enum": [
                    "8",
                    "9",
                    "default",
                    "specifyPath"
                  ]
                },
                "xcodeDeveloperDir": {
                  "type": "string",
                  "description": "Xcode developer path",
                  "ignoreCase": "key"
                },
                "packageApp": {
                  "type": "boolean",
                  "description": "Create app package",
                  "ignoreCase": "key"
                },
                "archivePath": {
                  "type": "string",
                  "description": "Archive path",
                  "ignoreCase": "key"
                },
                "exportPath": {
                  "type": "string",
                  "description": "Export path",
                  "ignoreCase": "key"
                },
                "exportOptions": {
                  "description": "Export options",
                  "ignoreCase": "all",
                  "enum": [
                    "auto",
                    "plist",
                    "specify"
                  ]
                },
                "exportMethod": {
                  "type": "string",
                  "description": "Export method",
                  "ignoreCase": "key"
                },
                "exportTeamId": {
                  "type": "string",
                  "description": "Team ID",
                  "ignoreCase": "key"
                },
                "exportOptionsPlist": {
                  "type": "string",
                  "description": "Export options plist",
                  "ignoreCase": "key"
                },
                "exportArgs": {
                  "type": "string",
                  "description": "Export arguments",
                  "ignoreCase": "key"
                },
                "signingOption": {
                  "description": "Signing style",
                  "ignoreCase": "all",
                  "enum": [
                    "nosign",
                    "default",
                    "manual",
                    "auto"
                  ]
                },
                "signingIdentity": {
                  "type": "string",
                  "description": "Signing identity",
                  "ignoreCase": "key"
                },
                "provisioningProfileUuid": {
                  "type": "string",
                  "description": "Provisioning profile UUID",
                  "ignoreCase": "key"
                },
                "teamId": {
                  "type": "string",
                  "description": "Team ID",
                  "ignoreCase": "key"
                },
                "destinationPlatformOption": {
                  "description": "Destination platform",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "iOS",
                    "tvOS",
                    "macOS",
                    "custom"
                  ]
                },
                "destinationPlatform": {
                  "type": "string",
                  "description": "Custom destination platform",
                  "ignoreCase": "key"
                },
                "destinationTypeOption": {
                  "description": "Destination type",
                  "ignoreCase": "all",
                  "enum": [
                    "simulators",
                    "devices"
                  ]
                },
                "destinationSimulators": {
                  "type": "string",
                  "description": "Simulator",
                  "ignoreCase": "key"
                },
                "destinationDevices": {
                  "type": "string",
                  "description": "Device",
                  "ignoreCase": "key"
                },
                "args": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "outputPattern": {
                  "type": "string",
                  "description": "Output directory",
                  "ignoreCase": "key"
                },
                "useXcpretty": {
                  "type": "boolean",
                  "description": "Use xcpretty",
                  "ignoreCase": "key"
                },
                "publishJUnitResults": {
                  "type": "boolean",
                  "description": "Publish test results to VSTS/TFS",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Xcode Build\n\nBuild an Xcode workspace on Mac OS",
              "ignoreCase": "value",
              "pattern": "^Xcode@2$"
            },
            "inputs": {
              "description": "Xcode Build inputs",
              "properties": {
                "actions": {
                  "type": "string",
                  "description": "Actions",
                  "ignoreCase": "key"
                },
                "configuration": {
                  "type": "string",
                  "description": "Configuration",
                  "ignoreCase": "key"
                },
                "sdk": {
                  "type": "string",
                  "description": "SDK",
                  "ignoreCase": "key"
                },
                "xcWorkspacePath": {
                  "type": "string",
                  "description": "Workspace/Project Path",
                  "ignoreCase": "key"
                },
                "scheme": {
                  "type": "string",
                  "description": "Scheme",
                  "ignoreCase": "key"
                },
                "packageApp": {
                  "type": "boolean",
                  "description": "Create App Package",
                  "ignoreCase": "key"
                },
                "packageTool": {
                  "description": "Create Package (IPA) using",
                  "ignoreCase": "all",
                  "enum": [
                    "xcrun",
                    "xcodebuild"
                  ]
                },
                "archivePath": {
                  "type": "string",
                  "description": "Archive Path",
                  "ignoreCase": "key"
                },
                "exportPath": {
                  "type": "string",
                  "description": "Export Path",
                  "ignoreCase": "key"
                },
                "exportOptions": {
                  "description": "Export Options",
                  "ignoreCase": "all",
                  "enum": [
                    "auto",
                    "plist",
                    "specify"
                  ]
                },
                "exportMethod": {
                  "type": "string",
                  "description": "Export Method",
                  "ignoreCase": "key"
                },
                "exportTeamId": {
                  "type": "string",
                  "description": "Team ID",
                  "ignoreCase": "key"
                },
                "exportOptionsPlist": {
                  "type": "string",
                  "description": "Export Options Plist",
                  "ignoreCase": "key"
                },
                "xcode8AutomaticSigning": {
                  "type": "boolean",
                  "description": "Automatic Signing",
                  "ignoreCase": "key"
                },
                "teamId": {
                  "type": "string",
                  "description": "Team ID",
                  "ignoreCase": "key"
                },
                "signMethod": {
                  "description": "Override Using",
                  "ignoreCase": "all",
                  "enum": [
                    "file",
                    "id"
                  ]
                },
                "iosSigningIdentity": {
                  "type": "string",
                  "description": "Signing Identity",
                  "ignoreCase": "key"
                },
                "unlockDefaultKeychain": {
                  "type": "boolean",
                  "description": "Unlock Default Keychain",
                  "ignoreCase": "key"
                },
                "defaultKeychainPassword": {
                  "type": "string",
                  "description": "Default Keychain Password",
                  "ignoreCase": "key"
                },
                "provProfileUuid": {
                  "type": "string",
                  "description": "Provisioning Profile UUID",
                  "ignoreCase": "key"
                },
                "p12": {
                  "type": "string",
                  "description": "P12 Certificate File",
                  "ignoreCase": "key"
                },
                "p12pwd": {
                  "type": "string",
                  "description": "P12 Password",
                  "ignoreCase": "key"
                },
                "provProfile": {
                  "type": "string",
                  "description": "Provisioning Profile File",
                  "ignoreCase": "key"
                },
                "removeProfile": {
                  "type": "boolean",
                  "description": "Remove Profile After Build",
                  "ignoreCase": "key"
                },
                "args": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "cwd": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key"
                },
                "outputPattern": {
                  "type": "string",
                  "description": "Output Directory",
                  "ignoreCase": "key"
                },
                "xcodeDeveloperDir": {
                  "type": "string",
                  "description": "Xcode Developer Path",
                  "ignoreCase": "key"
                },
                "useXcpretty": {
                  "type": "boolean",
                  "description": "Use xcpretty",
                  "ignoreCase": "key"
                },
                "publishJUnitResults": {
                  "type": "boolean",
                  "description": "Publish to VSTS/TFS",
                  "ignoreCase": "key"
                },
                "useXctool": {
                  "type": "boolean",
                  "description": "Use xctool",
                  "ignoreCase": "key"
                },
                "xctoolReporter": {
                  "type": "string",
                  "description": "xctool Test Reporter Format",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "NuGet publisher\n\nDeprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.",
              "ignoreCase": "value",
              "pattern": "^NuGetPublisher@0$"
            },
            "inputs": {
              "description": "NuGet publisher inputs",
              "properties": {
                "searchPattern": {
                  "type": "string",
                  "description": "Path/Pattern to nupkg",
                  "ignoreCase": "key"
                },
                "nuGetFeedType": {
                  "description": "Feed type",
                  "ignoreCase": "all",
                  "enum": [
                    "external",
                    "internal"
                  ]
                },
                "connectedServiceName": {
                  "type": "string",
                  "description": "NuGet Service Connection",
                  "ignoreCase": "key"
                },
                "feedName": {
                  "type": "string",
                  "description": "Internal Feed URL",
                  "ignoreCase": "key"
                },
                "nuGetAdditionalArgs": {
                  "type": "string",
                  "description": "NuGet Arguments",
                  "ignoreCase": "key"
                },
                "verbosity": {
                  "description": "Verbosity",
                  "ignoreCase": "all",
                  "enum": [
                    "-",
                    "Quiet",
                    "Normal",
                    "Detailed"
                  ]
                },
                "nuGetVersion": {
                  "description": "NuGet Version",
                  "ignoreCase": "all",
                  "enum": [
                    "3.3.0",
                    "3.5.0.1829",
                    "4.0.0.2283",
                    "custom"
                  ]
                },
                "nuGetPath": {
                  "type": "string",
                  "description": "Path to NuGet.exe",
                  "ignoreCase": "key"
                },
                "continueOnEmptyNupkgMatch": {
                  "type": "boolean",
                  "description": "Continue if no packages match the \"Path/Pattern to nupkg\"",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "deprecationMessage": "NuGetPublisher is deprecated - Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Query work items\n\nExecute a work item query and check the number of items returned",
              "ignoreCase": "value",
              "pattern": "^queryWorkItems@0$"
            },
            "inputs": {
              "description": "Query work items inputs",
              "properties": {
                "queryId": {
                  "type": "string",
                  "description": "Query",
                  "ignoreCase": "key"
                },
                "maxThreshold": {
                  "type": "string",
                  "description": "Upper threshold",
                  "ignoreCase": "key"
                },
                "minThreshold": {
                  "type": "string",
                  "description": "Lower threshold",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "queryId"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure Web App for Containers\n\nDeploy containers to Azure App Service",
              "ignoreCase": "value",
              "pattern": "^AzureWebAppContainer@1$"
            },
            "inputs": {
              "description": "Azure Web App for Containers inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key"
                },
                "appName": {
                  "type": "string",
                  "description": "App name",
                  "ignoreCase": "key"
                },
                "deployToSlotOrASE": {
                  "type": "boolean",
                  "description": "Deploy to Slot or App Service Environment",
                  "ignoreCase": "key"
                },
                "resourceGroupName": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "slotName": {
                  "type": "string",
                  "description": "Slot",
                  "ignoreCase": "key"
                },
                "containers": {
                  "type": "string",
                  "description": "Image name",
                  "ignoreCase": "key",
                  "aliases": [
                    "imageName"
                  ]
                },
                "multicontainerConfigFile": {
                  "type": "string",
                  "description": "Configuration File",
                  "ignoreCase": "key"
                },
                "containerCommand": {
                  "type": "string",
                  "description": "Startup command ",
                  "ignoreCase": "key"
                },
                "appSettings": {
                  "type": "string",
                  "description": "App settings",
                  "ignoreCase": "key"
                },
                "configurationStrings": {
                  "type": "string",
                  "description": "Configuration settings",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription",
                "appName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "SQL Server database deploy\n\nDeploy a SQL Server database using DACPAC or SQL scripts",
              "ignoreCase": "value",
              "pattern": "^SqlDacpacDeploymentOnMachineGroup@0$"
            },
            "inputs": {
              "description": "SQL Server database deploy inputs",
              "properties": {
                "TaskType": {
                  "description": "Deploy SQL Using",
                  "ignoreCase": "all",
                  "enum": [
                    "dacpac",
                    "sqlQuery",
                    "sqlInline"
                  ]
                },
                "DacpacFile": {
                  "type": "string",
                  "description": "DACPAC File",
                  "ignoreCase": "key"
                },
                "SqlFile": {
                  "type": "string",
                  "description": "Sql File",
                  "ignoreCase": "key"
                },
                "ExecuteInTransaction": {
                  "type": "boolean",
                  "description": "Execute within a transaction",
                  "ignoreCase": "key"
                },
                "ExclusiveLock": {
                  "type": "boolean",
                  "description": "Acquire an exclusive app lock while executing script(s)",
                  "ignoreCase": "key"
                },
                "AppLockName": {
                  "type": "string",
                  "description": "App lock name",
                  "ignoreCase": "key"
                },
                "InlineSql": {
                  "type": "string",
                  "description": "Inline Sql",
                  "ignoreCase": "key"
                },
                "TargetMethod": {
                  "description": "Specify SQL Using",
                  "ignoreCase": "all",
                  "enum": [
                    "server",
                    "connectionString",
                    "publishProfile"
                  ]
                },
                "ServerName": {
                  "type": "string",
                  "description": "Server Name",
                  "ignoreCase": "key"
                },
                "DatabaseName": {
                  "type": "string",
                  "description": "Database Name",
                  "ignoreCase": "key"
                },
                "AuthScheme": {
                  "description": "Authentication",
                  "ignoreCase": "all",
                  "enum": [
                    "windowsAuthentication",
                    "sqlServerAuthentication"
                  ]
                },
                "SqlUsername": {
                  "type": "string",
                  "description": "SQL User name",
                  "ignoreCase": "key"
                },
                "SqlPassword": {
                  "type": "string",
                  "description": "SQL Password",
                  "ignoreCase": "key"
                },
                "ConnectionString": {
                  "type": "string",
                  "description": "Connection String",
                  "ignoreCase": "key"
                },
                "PublishProfile": {
                  "type": "string",
                  "description": "Publish Profile",
                  "ignoreCase": "key"
                },
                "AdditionalArguments": {
                  "type": "string",
                  "description": "Additional Arguments",
                  "ignoreCase": "key"
                },
                "AdditionalArgumentsSql": {
                  "type": "string",
                  "description": "Additional Arguments",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Cache (Beta)\n\nCache files between runs",
              "ignoreCase": "value",
              "pattern": "^CacheBeta@1$"
            },
            "inputs": {
              "description": "Cache (Beta) inputs",
              "properties": {
                "key": {
                  "type": "string",
                  "description": "Key",
                  "ignoreCase": "key"
                },
                "path": {
                  "type": "string",
                  "description": "Path",
                  "ignoreCase": "key"
                },
                "cacheHitVar": {
                  "type": "string",
                  "description": "Cache hit variable",
                  "ignoreCase": "key"
                },
                "restoreKeys": {
                  "type": "string",
                  "description": "Additional restore key prefixes",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "key",
                "path"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Cache\n\nCache files between runs",
              "ignoreCase": "value",
              "pattern": "^Cache@2$"
            },
            "inputs": {
              "description": "Cache inputs",
              "properties": {
                "key": {
                  "type": "string",
                  "description": "Key",
                  "ignoreCase": "key"
                },
                "path": {
                  "type": "string",
                  "description": "Path",
                  "ignoreCase": "key"
                },
                "cacheHitVar": {
                  "type": "string",
                  "description": "Cache hit variable",
                  "ignoreCase": "key"
                },
                "restoreKeys": {
                  "type": "string",
                  "description": "Additional restore key prefixes",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "key",
                "path"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Cache (Beta)\n\nCache files between runs",
              "ignoreCase": "value",
              "pattern": "^CacheBeta@0$"
            },
            "inputs": {
              "description": "Cache (Beta) inputs",
              "properties": {
                "key": {
                  "type": "string",
                  "description": "Key",
                  "ignoreCase": "key"
                },
                "path": {
                  "type": "string",
                  "description": "Path",
                  "ignoreCase": "key"
                },
                "cacheHitVar": {
                  "type": "string",
                  "description": "Cache hit variable",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "key",
                "path"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "CMake\n\nBuild with the CMake cross-platform build system",
              "ignoreCase": "value",
              "pattern": "^CMake@1$"
            },
            "inputs": {
              "description": "CMake inputs",
              "properties": {
                "workingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "cmakeArgs": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "runInsideShell": {
                  "type": "boolean",
                  "description": "Run cmake command inside shell",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Mobile Center Test\n\nTest mobile app packages with Visual Studio Mobile Center.",
              "ignoreCase": "value",
              "pattern": "^VSMobileCenterTest@0$"
            },
            "inputs": {
              "description": "Mobile Center Test inputs",
              "properties": {
                "app": {
                  "type": "string",
                  "description": "Binary Application File Path",
                  "ignoreCase": "key"
                },
                "artifactsDir": {
                  "type": "string",
                  "description": "Artifacts Directory",
                  "ignoreCase": "key"
                },
                "enablePrepare": {
                  "type": "boolean",
                  "description": "Prepare Tests",
                  "ignoreCase": "key"
                },
                "framework": {
                  "description": "Test Framework",
                  "ignoreCase": "all",
                  "enum": [
                    "appium",
                    "espresso",
                    "calabash",
                    "uitest",
                    "xcuitest"
                  ]
                },
                "appiumBuildDir": {
                  "type": "string",
                  "description": "Build Directory",
                  "ignoreCase": "key"
                },
                "espressoBuildDir": {
                  "type": "string",
                  "description": "Build Directory",
                  "ignoreCase": "key"
                },
                "espressoTestApkPath": {
                  "type": "string",
                  "description": "Test APK Path",
                  "ignoreCase": "key"
                },
                "calabashProjectDir": {
                  "type": "string",
                  "description": "Project Directory",
                  "ignoreCase": "key"
                },
                "calabashConfigFile": {
                  "type": "string",
                  "description": "Cucumber Config File",
                  "ignoreCase": "key"
                },
                "calabashProfile": {
                  "type": "string",
                  "description": "Profile to run",
                  "ignoreCase": "key"
                },
                "calabashSkipConfigCheck": {
                  "type": "boolean",
                  "description": "Skip Configuration Check",
                  "ignoreCase": "key"
                },
                "uitestBuildDir": {
                  "type": "string",
                  "description": "Build Directory",
                  "ignoreCase": "key"
                },
                "uitestStoreFile": {
                  "type": "string",
                  "description": "Store File",
                  "ignoreCase": "key"
                },
                "uitestStorePass": {
                  "type": "string",
                  "description": "Store Password",
                  "ignoreCase": "key"
                },
                "uitestKeyAlias": {
                  "type": "string",
                  "description": "Key Alias",
                  "ignoreCase": "key"
                },
                "uitestKeyPass": {
                  "type": "string",
                  "description": "Key Password",
                  "ignoreCase": "key"
                },
                "uitestToolsDir": {
                  "type": "string",
                  "description": "Test Tools Directory",
                  "ignoreCase": "key"
                },
                "signInfo": {
                  "type": "string",
                  "description": "Signing Information",
                  "ignoreCase": "key"
                },
                "xcuitestBuildDir": {
                  "type": "string",
                  "description": "Build Directory",
                  "ignoreCase": "key"
                },
                "xcuitestTestIpaPath": {
                  "type": "string",
                  "description": "Test IPA Path",
                  "ignoreCase": "key"
                },
                "prepareOpts": {
                  "type": "string",
                  "description": "Additional Options",
                  "ignoreCase": "key"
                },
                "enableRun": {
                  "type": "boolean",
                  "description": "Run Tests",
                  "ignoreCase": "key"
                },
                "credsType": {
                  "description": "Authentication Method",
                  "ignoreCase": "all",
                  "enum": [
                    "serviceEndpoint",
                    "inputs"
                  ]
                },
                "serverEndpoint": {
                  "type": "string",
                  "description": "Mobile Center Connection",
                  "ignoreCase": "key"
                },
                "username": {
                  "type": "string",
                  "description": "Mobile Center Username",
                  "ignoreCase": "key"
                },
                "password": {
                  "type": "string",
                  "description": "Mobile Center Password",
                  "ignoreCase": "key"
                },
                "appSlug": {
                  "type": "string",
                  "description": "App Slug",
                  "ignoreCase": "key"
                },
                "devices": {
                  "type": "string",
                  "description": "Devices",
                  "ignoreCase": "key"
                },
                "series": {
                  "type": "string",
                  "description": "Test Series",
                  "ignoreCase": "key"
                },
                "dsymDir": {
                  "type": "string",
                  "description": "dSYM Directory",
                  "ignoreCase": "key"
                },
                "locale": {
                  "description": "System Language",
                  "ignoreCase": "all",
                  "enum": [
                    "da_DK",
                    "nl_NL",
                    "en_GB",
                    "en_US",
                    "fr_FR",
                    "de_DE",
                    "ja_JP",
                    "ru_RU",
                    "es_MX",
                    "es_ES",
                    "user"
                  ]
                },
                "userDefinedLocale": {
                  "type": "string",
                  "description": "Other Locale",
                  "ignoreCase": "key"
                },
                "loginOpts": {
                  "type": "string",
                  "description": "Addtional Options for Login",
                  "ignoreCase": "key"
                },
                "runOpts": {
                  "type": "string",
                  "description": "Additional Options for Run",
                  "ignoreCase": "key"
                },
                "async": {
                  "type": "boolean",
                  "description": "Do not wait for test result",
                  "ignoreCase": "key"
                },
                "cliLocationOverride": {
                  "type": "string",
                  "description": "mobile-center CLI Location",
                  "ignoreCase": "key"
                },
                "debug": {
                  "type": "boolean",
                  "description": "Enable Debug Output",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "app"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "App Center test\n\nTest app packages with Visual Studio App Center",
              "ignoreCase": "value",
              "pattern": "^AppCenterTest@1$"
            },
            "inputs": {
              "description": "App Center test inputs",
              "properties": {
                "appFile": {
                  "type": "string",
                  "description": "Binary application file path",
                  "ignoreCase": "key",
                  "aliases": [
                    "app"
                  ]
                },
                "artifactsDirectory": {
                  "type": "string",
                  "description": "Artifacts directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "artifactsDir"
                  ]
                },
                "prepareTests": {
                  "type": "boolean",
                  "description": "Prepare tests",
                  "ignoreCase": "key",
                  "aliases": [
                    "enablePrepare"
                  ]
                },
                "frameworkOption": {
                  "description": "Test framework",
                  "ignoreCase": "all",
                  "enum": [
                    "appium",
                    "espresso",
                    "calabash",
                    "uitest",
                    "xcuitest"
                  ],
                  "aliases": [
                    "framework"
                  ]
                },
                "appiumBuildDirectory": {
                  "type": "string",
                  "description": "Build directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "appiumBuildDir"
                  ]
                },
                "espressoBuildDirectory": {
                  "type": "string",
                  "description": "Build directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "espressoBuildDir"
                  ]
                },
                "espressoTestApkFile": {
                  "type": "string",
                  "description": "Test APK path",
                  "ignoreCase": "key",
                  "aliases": [
                    "espressoTestApkPath"
                  ]
                },
                "calabashProjectDirectory": {
                  "type": "string",
                  "description": "Project directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "calabashProjectDir"
                  ]
                },
                "calabashConfigFile": {
                  "type": "string",
                  "description": "Cucumber config file",
                  "ignoreCase": "key"
                },
                "calabashProfile": {
                  "type": "string",
                  "description": "Profile to run",
                  "ignoreCase": "key"
                },
                "calabashSkipConfigCheck": {
                  "type": "boolean",
                  "description": "Skip Configuration Check",
                  "ignoreCase": "key"
                },
                "uiTestBuildDirectory": {
                  "type": "string",
                  "description": "Build directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "uitestBuildDir"
                  ]
                },
                "uitestStorePath": {
                  "type": "string",
                  "description": "Store file",
                  "ignoreCase": "key"
                },
                "uiTestStorePassword": {
                  "type": "string",
                  "description": "Store password",
                  "ignoreCase": "key",
                  "aliases": [
                    "uitestStorePass"
                  ]
                },
                "uitestKeyAlias": {
                  "type": "string",
                  "description": "Key alias",
                  "ignoreCase": "key"
                },
                "uiTestKeyPassword": {
                  "type": "string",
                  "description": "Key password",
                  "ignoreCase": "key",
                  "aliases": [
                    "uitestKeyPass"
                  ]
                },
                "uiTestToolsDirectory": {
                  "type": "string",
                  "description": "Test tools directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "uitestToolsDir"
                  ]
                },
                "signInfo": {
                  "type": "string",
                  "description": "Signing information",
                  "ignoreCase": "key"
                },
                "xcUITestBuildDirectory": {
                  "type": "string",
                  "description": "Build directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "xcuitestBuildDir"
                  ]
                },
                "xcUITestIpaFile": {
                  "type": "string",
                  "description": "Test IPA path",
                  "ignoreCase": "key",
                  "aliases": [
                    "xcuitestTestIpaPath"
                  ]
                },
                "prepareOptions": {
                  "type": "string",
                  "description": "Additional options",
                  "ignoreCase": "key",
                  "aliases": [
                    "prepareOpts"
                  ]
                },
                "runTests": {
                  "type": "boolean",
                  "description": "Run tests",
                  "ignoreCase": "key",
                  "aliases": [
                    "enableRun"
                  ]
                },
                "credentialsOption": {
                  "description": "Authentication method",
                  "ignoreCase": "all",
                  "enum": [
                    "serviceEndpoint",
                    "inputs"
                  ],
                  "aliases": [
                    "credsType"
                  ]
                },
                "serverEndpoint": {
                  "type": "string",
                  "description": "App Center service connection",
                  "ignoreCase": "key"
                },
                "username": {
                  "type": "string",
                  "description": "App Center username",
                  "ignoreCase": "key"
                },
                "password": {
                  "type": "string",
                  "description": "App Center password",
                  "ignoreCase": "key"
                },
                "appSlug": {
                  "type": "string",
                  "description": "App slug",
                  "ignoreCase": "key"
                },
                "devices": {
                  "type": "string",
                  "description": "Devices",
                  "ignoreCase": "key"
                },
                "series": {
                  "type": "string",
                  "description": "Test series",
                  "ignoreCase": "key"
                },
                "dsymDirectory": {
                  "type": "string",
                  "description": "dSYM directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "dsymDir"
                  ]
                },
                "localeOption": {
                  "description": "System language",
                  "ignoreCase": "all",
                  "enum": [
                    "da_DK",
                    "nl_NL",
                    "en_GB",
                    "en_US",
                    "fr_FR",
                    "de_DE",
                    "ja_JP",
                    "ru_RU",
                    "es_MX",
                    "es_ES",
                    "user"
                  ],
                  "aliases": [
                    "locale"
                  ]
                },
                "userDefinedLocale": {
                  "type": "string",
                  "description": "Other locale",
                  "ignoreCase": "key"
                },
                "loginOptions": {
                  "type": "string",
                  "description": "Additional options for login",
                  "ignoreCase": "key",
                  "aliases": [
                    "loginOpts"
                  ]
                },
                "runOptions": {
                  "type": "string",
                  "description": "Additional options for run",
                  "ignoreCase": "key",
                  "aliases": [
                    "runOpts"
                  ]
                },
                "skipWaitingForResults": {
                  "type": "boolean",
                  "description": "Do not wait for test result",
                  "ignoreCase": "key",
                  "aliases": [
                    "async"
                  ]
                },
                "cliFile": {
                  "type": "string",
                  "description": "App Center CLI location",
                  "ignoreCase": "key",
                  "aliases": [
                    "cliLocationOverride"
                  ]
                },
                "showDebugOutput": {
                  "type": "boolean",
                  "description": "Enable debug output",
                  "ignoreCase": "key",
                  "aliases": [
                    "debug"
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "appFile"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Download secure file\n\nDownload a secure file to the agent machine",
              "ignoreCase": "value",
              "pattern": "^DownloadSecureFile@1$"
            },
            "inputs": {
              "description": "Download secure file inputs",
              "properties": {
                "secureFile": {
                  "type": "string",
                  "description": "Secure File",
                  "ignoreCase": "key"
                },
                "retryCount": {
                  "type": "string",
                  "description": "Retry Count",
                  "ignoreCase": "key"
                },
                "socketTimeout": {
                  "type": "string",
                  "description": "Socket Timeout",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "secureFile"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure Container Apps Deploy\n\nAn Azure DevOps Task to build and deploy Azure Container Apps.",
              "ignoreCase": "value",
              "pattern": "^AzureContainerApps@0$"
            },
            "inputs": {
              "description": "Azure Container Apps Deploy inputs",
              "properties": {
                "workingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "appSourcePath": {
                  "type": "string",
                  "description": "Application source path",
                  "ignoreCase": "key"
                },
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure Resource Manager connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "connectedServiceNameARM"
                  ]
                },
                "acrName": {
                  "type": "string",
                  "description": "Azure Container Registry name",
                  "ignoreCase": "key"
                },
                "acrUsername": {
                  "type": "string",
                  "description": "Azure Container Registry username",
                  "ignoreCase": "key"
                },
                "acrPassword": {
                  "type": "string",
                  "description": "Azure Container Registry password",
                  "ignoreCase": "key"
                },
                "dockerfilePath": {
                  "type": "string",
                  "description": "Dockerfile path",
                  "ignoreCase": "key"
                },
                "imageToBuild": {
                  "type": "string",
                  "description": "Docker image to build",
                  "ignoreCase": "key"
                },
                "imageToDeploy": {
                  "type": "string",
                  "description": "Docker image to deploy",
                  "ignoreCase": "key"
                },
                "containerAppName": {
                  "type": "string",
                  "description": "Azure Container App name",
                  "ignoreCase": "key"
                },
                "resourceGroup": {
                  "type": "string",
                  "description": "Azure resource group name",
                  "ignoreCase": "key"
                },
                "containerAppEnvironment": {
                  "type": "string",
                  "description": "Azure Container App environment",
                  "ignoreCase": "key"
                },
                "runtimeStack": {
                  "type": "string",
                  "description": "Application runtime stack",
                  "ignoreCase": "key"
                },
                "targetPort": {
                  "type": "string",
                  "description": "Application target port",
                  "ignoreCase": "key"
                },
                "location": {
                  "type": "string",
                  "description": "Location of the Container App",
                  "ignoreCase": "key"
                },
                "environmentVariables": {
                  "type": "string",
                  "description": "Environment variables",
                  "ignoreCase": "key"
                },
                "disableTelemetry": {
                  "type": "boolean",
                  "description": "Disable telemetry",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Use Ruby version\n\nUse the specified version of Ruby from the tool cache, optionally adding it to the PATH",
              "ignoreCase": "value",
              "pattern": "^UseRubyVersion@0$"
            },
            "inputs": {
              "description": "Use Ruby version inputs",
              "properties": {
                "versionSpec": {
                  "type": "string",
                  "description": "Version spec",
                  "ignoreCase": "key"
                },
                "addToPath": {
                  "type": "boolean",
                  "description": "Add to PATH",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Grunt\n\nRun the Grunt JavaScript task runner",
              "ignoreCase": "value",
              "pattern": "^Grunt@0$"
            },
            "inputs": {
              "description": "Grunt inputs",
              "properties": {
                "gruntFile": {
                  "type": "string",
                  "description": "Grunt File Path",
                  "ignoreCase": "key"
                },
                "targets": {
                  "type": "string",
                  "description": "Grunt Task(s)",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "gruntCli": {
                  "type": "string",
                  "description": "grunt-cli location",
                  "ignoreCase": "key"
                },
                "publishJUnitResults": {
                  "type": "boolean",
                  "description": "Publish to Azure Pipelines",
                  "ignoreCase": "key"
                },
                "testResultsFiles": {
                  "type": "string",
                  "description": "Test Results Files",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test Run Title",
                  "ignoreCase": "key"
                },
                "enableCodeCoverage": {
                  "type": "boolean",
                  "description": "Enable Code Coverage",
                  "ignoreCase": "key"
                },
                "testFramework": {
                  "description": "Test Framework",
                  "ignoreCase": "all",
                  "enum": [
                    "Mocha",
                    "Jasmine"
                  ]
                },
                "srcFiles": {
                  "type": "string",
                  "description": "Source Files",
                  "ignoreCase": "key"
                },
                "testFiles": {
                  "type": "string",
                  "description": "Test Script Files",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure SQL Database deployment\n\nDeploy an Azure SQL Database using DACPAC or run scripts using SQLCMD",
              "ignoreCase": "value",
              "pattern": "^SqlAzureDacpacDeployment@1$"
            },
            "inputs": {
              "description": "Azure SQL Database deployment inputs",
              "properties": {
                "azureConnectionType": {
                  "description": "Azure Service Connection Type",
                  "ignoreCase": "all",
                  "enum": [
                    "ConnectedServiceName",
                    "ConnectedServiceNameARM"
                  ],
                  "aliases": [
                    "ConnectedServiceNameSelector"
                  ]
                },
                "azureClassicSubscription": {
                  "type": "string",
                  "description": "Azure Classic Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceNameARM"
                  ]
                },
                "AuthenticationType": {
                  "description": "Authentication Type",
                  "ignoreCase": "all",
                  "enum": [
                    "server",
                    "aadAuthenticationPassword",
                    "aadAuthenticationIntegrated",
                    "connectionString",
                    "servicePrincipal"
                  ]
                },
                "ServerName": {
                  "type": "string",
                  "description": "Azure SQL Server",
                  "ignoreCase": "key"
                },
                "DatabaseName": {
                  "type": "string",
                  "description": "Database",
                  "ignoreCase": "key"
                },
                "SqlUsername": {
                  "type": "string",
                  "description": "Login",
                  "ignoreCase": "key"
                },
                "SqlPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "aadSqlUsername": {
                  "type": "string",
                  "description": "Login",
                  "ignoreCase": "key"
                },
                "aadSqlPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "ConnectionString": {
                  "type": "string",
                  "description": "Connection String",
                  "ignoreCase": "key"
                },
                "deployType": {
                  "description": "Deploy type",
                  "ignoreCase": "all",
                  "enum": [
                    "DacpacTask",
                    "SqlTask",
                    "InlineSqlTask"
                  ],
                  "aliases": [
                    "TaskNameSelector"
                  ]
                },
                "DeploymentAction": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "Publish",
                    "Extract",
                    "Export",
                    "Import",
                    "Script",
                    "DriftReport",
                    "DeployReport"
                  ]
                },
                "DacpacFile": {
                  "type": "string",
                  "description": "DACPAC File",
                  "ignoreCase": "key"
                },
                "BacpacFile": {
                  "type": "string",
                  "description": "BACPAC File",
                  "ignoreCase": "key"
                },
                "SqlFile": {
                  "type": "string",
                  "description": "SQL Script",
                  "ignoreCase": "key"
                },
                "SqlInline": {
                  "type": "string",
                  "description": "Inline SQL Script",
                  "ignoreCase": "key"
                },
                "PublishProfile": {
                  "type": "string",
                  "description": "Publish Profile",
                  "ignoreCase": "key"
                },
                "AdditionalArguments": {
                  "type": "string",
                  "description": "Additional SqlPackage.exe Arguments",
                  "ignoreCase": "key"
                },
                "SqlAdditionalArguments": {
                  "type": "string",
                  "description": "Additional Invoke-Sqlcmd Arguments",
                  "ignoreCase": "key"
                },
                "InlineAdditionalArguments": {
                  "type": "string",
                  "description": "Additional Invoke-Sqlcmd Arguments",
                  "ignoreCase": "key"
                },
                "IpDetectionMethod": {
                  "description": "Specify Firewall Rules Using",
                  "ignoreCase": "all",
                  "enum": [
                    "AutoDetect",
                    "IPAddressRange"
                  ]
                },
                "StartIpAddress": {
                  "type": "string",
                  "description": "Start IP Address",
                  "ignoreCase": "key"
                },
                "EndIpAddress": {
                  "type": "string",
                  "description": "End IP Address",
                  "ignoreCase": "key"
                },
                "DeleteFirewallRule": {
                  "type": "boolean",
                  "description": "Delete Rule After Task Ends",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Container Structure Test\n\nUses container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) to validate the structure of an image based on four categories of tests - command tests, file existence tests, file content tests and metadata tests",
              "ignoreCase": "value",
              "pattern": "^ContainerStructureTest@0$"
            },
            "inputs": {
              "description": "Container Structure Test inputs",
              "properties": {
                "dockerRegistryServiceConnection": {
                  "type": "string",
                  "description": "Docker registry service connection",
                  "ignoreCase": "key"
                },
                "repository": {
                  "type": "string",
                  "description": "Container repository",
                  "ignoreCase": "key"
                },
                "tag": {
                  "type": "string",
                  "description": "Tag",
                  "ignoreCase": "key"
                },
                "configFile": {
                  "type": "string",
                  "description": "Config file path",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test run title",
                  "ignoreCase": "key"
                },
                "failTaskOnFailedTests": {
                  "type": "boolean",
                  "description": "Fail task if there are test failures",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "dockerRegistryServiceConnection",
                "repository",
                "configFile"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "[Deprecated] IIS Web App deployment\n\nDeploy using MSDeploy, then create/update websites and app pools",
              "ignoreCase": "value",
              "pattern": "^IISWebAppDeployment@1$"
            },
            "inputs": {
              "description": "[Deprecated] IIS Web App deployment inputs",
              "properties": {
                "EnvironmentName": {
                  "type": "string",
                  "description": "Machines",
                  "ignoreCase": "key"
                },
                "AdminUserName": {
                  "type": "string",
                  "description": "Admin Login",
                  "ignoreCase": "key"
                },
                "AdminPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "WinRMProtocol": {
                  "description": "Protocol",
                  "ignoreCase": "all",
                  "enum": [
                    "Http",
                    "Https"
                  ]
                },
                "TestCertificate": {
                  "type": "boolean",
                  "description": "Test Certificate",
                  "ignoreCase": "key"
                },
                "WebDeployPackage": {
                  "type": "string",
                  "description": "Web Deploy Package",
                  "ignoreCase": "key"
                },
                "WebDeployParamFile": {
                  "type": "string",
                  "description": "Web Deploy Parameter File",
                  "ignoreCase": "key"
                },
                "OverRideParams": {
                  "type": "string",
                  "description": "Override Parameters",
                  "ignoreCase": "key"
                },
                "CreateWebSite": {
                  "type": "boolean",
                  "description": "Create or Update Website",
                  "ignoreCase": "key"
                },
                "WebSiteName": {
                  "type": "string",
                  "description": "Website Name",
                  "ignoreCase": "key"
                },
                "WebSitePhysicalPath": {
                  "type": "string",
                  "description": "Physical Path",
                  "ignoreCase": "key"
                },
                "WebSitePhysicalPathAuth": {
                  "description": "Physical Path Authentication",
                  "ignoreCase": "all",
                  "enum": [
                    "WebSiteUserPassThrough",
                    "WebSiteWindowsAuth"
                  ]
                },
                "WebSiteAuthUserName": {
                  "type": "string",
                  "description": "User Name",
                  "ignoreCase": "key"
                },
                "WebSiteAuthUserPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "AddBinding": {
                  "type": "boolean",
                  "description": "Add Binding",
                  "ignoreCase": "key"
                },
                "AssignDuplicateBinding": {
                  "type": "boolean",
                  "description": "Assign Duplicate Binding",
                  "ignoreCase": "key"
                },
                "Protocol": {
                  "description": "Protocol",
                  "ignoreCase": "all",
                  "enum": [
                    "https",
                    "http"
                  ]
                },
                "IPAddress": {
                  "type": "string",
                  "description": "IP Address",
                  "ignoreCase": "key"
                },
                "Port": {
                  "type": "string",
                  "description": "Port",
                  "ignoreCase": "key"
                },
                "ServerNameIndication": {
                  "type": "boolean",
                  "description": "Server Name Indication Required",
                  "ignoreCase": "key"
                },
                "HostNameWithOutSNI": {
                  "type": "string",
                  "description": "Host Name",
                  "ignoreCase": "key"
                },
                "HostNameWithHttp": {
                  "type": "string",
                  "description": "Host Name",
                  "ignoreCase": "key"
                },
                "HostNameWithSNI": {
                  "type": "string",
                  "description": "Host Name",
                  "ignoreCase": "key"
                },
                "SSLCertThumbPrint": {
                  "type": "string",
                  "description": "SSL Certificate Thumb Print",
                  "ignoreCase": "key"
                },
                "CreateAppPool": {
                  "type": "boolean",
                  "description": "Create or Update Application Pool",
                  "ignoreCase": "key"
                },
                "AppPoolName": {
                  "type": "string",
                  "description": "Name",
                  "ignoreCase": "key"
                },
                "DotNetVersion": {
                  "description": ".NET Version",
                  "ignoreCase": "all",
                  "enum": [
                    "v4.0",
                    "v2.0",
                    "No Managed Code"
                  ]
                },
                "PipeLineMode": {
                  "description": "Managed Pipeline Mode",
                  "ignoreCase": "all",
                  "enum": [
                    "Integrated",
                    "Classic"
                  ]
                },
                "AppPoolIdentity": {
                  "description": "Identity",
                  "ignoreCase": "all",
                  "enum": [
                    "ApplicationPoolIdentity",
                    "LocalService",
                    "LocalSystem",
                    "NetworkService",
                    "SpecificUser"
                  ]
                },
                "AppPoolUsername": {
                  "type": "string",
                  "description": "Username",
                  "ignoreCase": "key"
                },
                "AppPoolPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "AppCmdCommands": {
                  "type": "string",
                  "description": "Additional AppCmd.exe Commands",
                  "ignoreCase": "key"
                },
                "DeployInParallel": {
                  "type": "boolean",
                  "description": "Deploy in Parallel",
                  "ignoreCase": "key"
                },
                "ResourceFilteringMethod": {
                  "description": "Select Machines By",
                  "ignoreCase": "all",
                  "enum": [
                    "machineNames",
                    "tags"
                  ]
                },
                "MachineFilter": {
                  "type": "string",
                  "description": "Deploy to Machines",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "EnvironmentName",
                "WebDeployPackage"
              ]
            }
          },
          "deprecationMessage": "IISWebAppDeployment is deprecated - Deploy using MSDeploy, then create/update websites and app pools",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Cloud-based load test\n\nRun a load test in the cloud with Azure Pipelines",
              "ignoreCase": "value",
              "pattern": "^CloudLoadTest@1$"
            },
            "inputs": {
              "description": "Cloud-based load test inputs",
              "properties": {
                "connectedServiceName": {
                  "type": "string",
                  "description": "Azure Pipelines Connection",
                  "ignoreCase": "key"
                },
                "TestDrop": {
                  "type": "string",
                  "description": "Load test files folder",
                  "ignoreCase": "key"
                },
                "LoadTest": {
                  "type": "string",
                  "description": "Load test file",
                  "ignoreCase": "key"
                },
                "activeRunSettings": {
                  "description": "Active Run Settings",
                  "ignoreCase": "all",
                  "enum": [
                    "useFile",
                    "changeActive"
                  ]
                },
                "runSettingName": {
                  "type": "string",
                  "description": "Specify the name of the Run Settings",
                  "ignoreCase": "key"
                },
                "testContextParameters": {
                  "type": "string",
                  "description": "Override load test context parameters",
                  "ignoreCase": "key"
                },
                "TestSettings": {
                  "type": "string",
                  "description": "Test settings file",
                  "ignoreCase": "key"
                },
                "ThresholdLimit": {
                  "type": "string",
                  "description": "Number of permissible threshold violations",
                  "ignoreCase": "key"
                },
                "MachineType": {
                  "description": "Run load test using",
                  "ignoreCase": "all",
                  "enum": [
                    "0",
                    "2"
                  ]
                },
                "resourceGroupName": {
                  "type": "string",
                  "description": "Resource group rig",
                  "ignoreCase": "key"
                },
                "numOfSelfProvisionedAgents": {
                  "type": "integer",
                  "description": "Number of agents to use",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "LoadTest"
              ]
            }
          },
          "deprecationMessage": "CloudLoadTest is deprecated - Run a load test in the cloud with Azure Pipelines",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Kubectl tool installer\n\nInstall Kubectl on agent machine",
              "ignoreCase": "value",
              "pattern": "^KubectlInstaller@0$"
            },
            "inputs": {
              "description": "Kubectl tool installer inputs",
              "properties": {
                "kubectlVersion": {
                  "type": "string",
                  "description": "Kubectl Version Spec",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Command Line\n\nRun a command line with arguments",
              "ignoreCase": "value",
              "pattern": "^CmdLine@1$"
            },
            "inputs": {
              "description": "Command Line inputs",
              "properties": {
                "filename": {
                  "type": "string",
                  "description": "Tool",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "workingFolder": {
                  "type": "string",
                  "description": "Working folder",
                  "ignoreCase": "key"
                },
                "failOnStandardError": {
                  "type": "boolean",
                  "description": "Fail on Standard Error",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "filename"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Command line\n\nRun a command line script using Bash on Linux and macOS and cmd.exe on Windows",
              "ignoreCase": "value",
              "pattern": "^CmdLine@2$"
            },
            "inputs": {
              "description": "Command line inputs",
              "properties": {
                "script": {
                  "type": "string",
                  "description": "Script",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key"
                },
                "failOnStderr": {
                  "type": "boolean",
                  "description": "Fail on Standard Error",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "NuGet command\n\nDeprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.",
              "ignoreCase": "value",
              "pattern": "^NuGet@0$"
            },
            "inputs": {
              "description": "NuGet command inputs",
              "properties": {
                "command": {
                  "type": "string",
                  "description": "Command",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "command"
              ]
            }
          },
          "deprecationMessage": "NuGet is deprecated - Deprecated: use the “NuGet” task instead. It works with the new Tool Installer framework so you can easily use new versions of NuGet without waiting for a task update, provides better support for authenticated feeds outside this organization/collection, and uses NuGet 4 by default.",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Container Build\n\nContainer Build Task",
              "ignoreCase": "value",
              "pattern": "^ContainerBuild@0$"
            },
            "inputs": {
              "description": "Container Build inputs",
              "properties": {
                "dockerRegistryServiceConnection": {
                  "type": "string",
                  "description": "Docker registry service connection",
                  "ignoreCase": "key"
                },
                "repository": {
                  "type": "string",
                  "description": "Container repository",
                  "ignoreCase": "key"
                },
                "Dockerfile": {
                  "type": "string",
                  "description": "Dockerfile",
                  "ignoreCase": "key"
                },
                "buildContext": {
                  "type": "string",
                  "description": "Build context",
                  "ignoreCase": "key"
                },
                "tags": {
                  "type": "string",
                  "description": "Tags",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "NuGet\n\nRestore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.",
              "ignoreCase": "value",
              "pattern": "^NuGetCommand@2$"
            },
            "inputs": {
              "description": "NuGet inputs",
              "properties": {
                "command": {
                  "description": "Command",
                  "ignoreCase": "all",
                  "enum": [
                    "restore",
                    "pack",
                    "push",
                    "custom"
                  ]
                },
                "restoreSolution": {
                  "type": "string",
                  "description": "Path to solution, packages.config, or project.json",
                  "ignoreCase": "key",
                  "aliases": [
                    "solution"
                  ]
                },
                "feedsToUse": {
                  "description": "Feeds to use",
                  "ignoreCase": "all",
                  "enum": [
                    "select",
                    "config"
                  ],
                  "aliases": [
                    "selectOrConfig"
                  ]
                },
                "vstsFeed": {
                  "type": "string",
                  "description": "Use packages from this Azure Artifacts/TFS feed",
                  "ignoreCase": "key",
                  "aliases": [
                    "feedRestore"
                  ]
                },
                "includeNuGetOrg": {
                  "type": "boolean",
                  "description": "Use packages from NuGet.org",
                  "ignoreCase": "key"
                },
                "nugetConfigPath": {
                  "type": "string",
                  "description": "Path to NuGet.config",
                  "ignoreCase": "key"
                },
                "externalFeedCredentials": {
                  "type": "string",
                  "description": "Credentials for feeds outside this organization/collection",
                  "ignoreCase": "key",
                  "aliases": [
                    "externalEndpoints"
                  ]
                },
                "noCache": {
                  "type": "boolean",
                  "description": "Disable local cache",
                  "ignoreCase": "key"
                },
                "disableParallelProcessing": {
                  "type": "boolean",
                  "description": "Disable parallel processing",
                  "ignoreCase": "key"
                },
                "restoreDirectory": {
                  "type": "string",
                  "description": "Destination directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "packagesDirectory"
                  ]
                },
                "verbosityRestore": {
                  "description": "Verbosity",
                  "ignoreCase": "all",
                  "enum": [
                    "Quiet",
                    "Normal",
                    "Detailed"
                  ]
                },
                "packagesToPush": {
                  "type": "string",
                  "description": "Path to NuGet package(s) to publish",
                  "ignoreCase": "key",
                  "aliases": [
                    "searchPatternPush"
                  ]
                },
                "nuGetFeedType": {
                  "description": "Target feed location",
                  "ignoreCase": "all",
                  "enum": [
                    "internal",
                    "external"
                  ]
                },
                "publishVstsFeed": {
                  "type": "string",
                  "description": "Target feed",
                  "ignoreCase": "key",
                  "aliases": [
                    "feedPublish"
                  ]
                },
                "publishPackageMetadata": {
                  "type": "boolean",
                  "description": "Publish pipeline metadata",
                  "ignoreCase": "key"
                },
                "allowPackageConflicts": {
                  "type": "boolean",
                  "description": "Allow duplicates to be skipped",
                  "ignoreCase": "key"
                },
                "publishFeedCredentials": {
                  "type": "string",
                  "description": "NuGet server",
                  "ignoreCase": "key",
                  "aliases": [
                    "externalEndpoint"
                  ]
                },
                "verbosityPush": {
                  "description": "Verbosity",
                  "ignoreCase": "all",
                  "enum": [
                    "Quiet",
                    "Normal",
                    "Detailed"
                  ]
                },
                "packagesToPack": {
                  "type": "string",
                  "description": "Path to csproj or nuspec file(s) to pack",
                  "ignoreCase": "key",
                  "aliases": [
                    "searchPatternPack"
                  ]
                },
                "configuration": {
                  "type": "string",
                  "description": "Configuration to package",
                  "ignoreCase": "key",
                  "aliases": [
                    "configurationToPack"
                  ]
                },
                "packDestination": {
                  "type": "string",
                  "description": "Package folder",
                  "ignoreCase": "key",
                  "aliases": [
                    "outputDir"
                  ]
                },
                "versioningScheme": {
                  "description": "Automatic package versioning",
                  "ignoreCase": "all",
                  "enum": [
                    "off",
                    "byPrereleaseNumber",
                    "byEnvVar",
                    "byBuildNumber"
                  ]
                },
                "includeReferencedProjects": {
                  "type": "boolean",
                  "description": "Include referenced projects",
                  "ignoreCase": "key"
                },
                "versionEnvVar": {
                  "type": "string",
                  "description": "Environment variable",
                  "ignoreCase": "key"
                },
                "majorVersion": {
                  "type": "string",
                  "description": "Major",
                  "ignoreCase": "key",
                  "aliases": [
                    "requestedMajorVersion"
                  ]
                },
                "minorVersion": {
                  "type": "string",
                  "description": "Minor",
                  "ignoreCase": "key",
                  "aliases": [
                    "requestedMinorVersion"
                  ]
                },
                "patchVersion": {
                  "type": "string",
                  "description": "Patch",
                  "ignoreCase": "key",
                  "aliases": [
                    "requestedPatchVersion"
                  ]
                },
                "packTimezone": {
                  "description": "Time zone",
                  "ignoreCase": "all",
                  "enum": [
                    "utc",
                    "local"
                  ]
                },
                "includeSymbols": {
                  "type": "boolean",
                  "description": "Create symbols package",
                  "ignoreCase": "key"
                },
                "toolPackage": {
                  "type": "boolean",
                  "description": "Tool Package",
                  "ignoreCase": "key"
                },
                "buildProperties": {
                  "type": "string",
                  "description": "Additional build properties",
                  "ignoreCase": "key"
                },
                "basePath": {
                  "type": "string",
                  "description": "Base path",
                  "ignoreCase": "key"
                },
                "verbosityPack": {
                  "description": "Verbosity",
                  "ignoreCase": "all",
                  "enum": [
                    "Quiet",
                    "Normal",
                    "Detailed"
                  ]
                },
                "arguments": {
                  "type": "string",
                  "description": "Command and arguments",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "NuGet Installer\n\nInstalls or restores missing NuGet packages. Use NuGetAuthenticate@0 task for latest capabilities.",
              "ignoreCase": "value",
              "pattern": "^NuGetInstaller@0$"
            },
            "inputs": {
              "description": "NuGet Installer inputs",
              "properties": {
                "solution": {
                  "type": "string",
                  "description": "Path to solution or packages.config",
                  "ignoreCase": "key"
                },
                "nugetConfigPath": {
                  "type": "string",
                  "description": "Path to NuGet.config",
                  "ignoreCase": "key"
                },
                "restoreMode": {
                  "description": "Installation type",
                  "ignoreCase": "all",
                  "enum": [
                    "restore",
                    "install"
                  ]
                },
                "noCache": {
                  "type": "boolean",
                  "description": "Disable local cache",
                  "ignoreCase": "key"
                },
                "nuGetRestoreArgs": {
                  "type": "string",
                  "description": "NuGet arguments",
                  "ignoreCase": "key"
                },
                "verbosity": {
                  "description": "Verbosity",
                  "ignoreCase": "all",
                  "enum": [
                    "-",
                    "Quiet",
                    "Normal",
                    "Detailed"
                  ]
                },
                "nuGetVersion": {
                  "description": "NuGet Version",
                  "ignoreCase": "all",
                  "enum": [
                    "3.3.0",
                    "3.5.0.1829",
                    "4.0.0.2283",
                    "custom"
                  ]
                },
                "nuGetPath": {
                  "type": "string",
                  "description": "Path to NuGet.exe",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "NuGet Restore\n\nRestores NuGet packages in preparation for a Visual Studio Build step.",
              "ignoreCase": "value",
              "pattern": "^NuGetRestore@1$"
            },
            "inputs": {
              "description": "NuGet Restore inputs",
              "properties": {
                "solution": {
                  "type": "string",
                  "description": "Path to solution, packages.config, or project.json",
                  "ignoreCase": "key"
                },
                "selectOrConfig": {
                  "description": "Feeds to use",
                  "ignoreCase": "all",
                  "enum": [
                    "select",
                    "config"
                  ]
                },
                "feed": {
                  "type": "string",
                  "description": "Use packages from this VSTS feed",
                  "ignoreCase": "key"
                },
                "includeNuGetOrg": {
                  "type": "boolean",
                  "description": "Use packages from NuGet.org",
                  "ignoreCase": "key"
                },
                "nugetConfigPath": {
                  "type": "string",
                  "description": "Path to NuGet.config",
                  "ignoreCase": "key"
                },
                "noCache": {
                  "type": "boolean",
                  "description": "Disable local cache",
                  "ignoreCase": "key"
                },
                "packagesDirectory": {
                  "type": "string",
                  "description": "Destination directory",
                  "ignoreCase": "key"
                },
                "verbosity": {
                  "description": "Verbosity",
                  "ignoreCase": "all",
                  "enum": [
                    "-",
                    "Quiet",
                    "Normal",
                    "Detailed"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Delay\n\nDelay further execution of a workflow by a fixed time",
              "ignoreCase": "value",
              "pattern": "^Delay@1$"
            },
            "inputs": {
              "description": "Delay inputs",
              "properties": {
                "delayForMinutes": {
                  "type": "string",
                  "description": "Delay Time (minutes)",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Xamarin.iOS\n\nBuild an iOS app with Xamarin on macOS",
              "ignoreCase": "value",
              "pattern": "^XamariniOS@2$"
            },
            "inputs": {
              "description": "Xamarin.iOS inputs",
              "properties": {
                "solutionFile": {
                  "type": "string",
                  "description": "Solution",
                  "ignoreCase": "key",
                  "aliases": [
                    "solution"
                  ]
                },
                "configuration": {
                  "type": "string",
                  "description": "Configuration",
                  "ignoreCase": "key"
                },
                "clean": {
                  "type": "boolean",
                  "description": "Clean",
                  "ignoreCase": "key"
                },
                "packageApp": {
                  "type": "boolean",
                  "description": "Create app package",
                  "ignoreCase": "key"
                },
                "buildForSimulator": {
                  "type": "boolean",
                  "description": "Build for iOS Simulator",
                  "ignoreCase": "key",
                  "aliases": [
                    "forSimulator"
                  ]
                },
                "runNugetRestore": {
                  "type": "boolean",
                  "description": "Run NuGet restore",
                  "ignoreCase": "key"
                },
                "args": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "mdtoolFile": {
                  "type": "string",
                  "description": "Build tool path",
                  "ignoreCase": "key",
                  "aliases": [
                    "buildToolLocation",
                    "mdtoolLocation"
                  ]
                },
                "signingIdentity": {
                  "type": "string",
                  "description": "Signing identity",
                  "ignoreCase": "key",
                  "aliases": [
                    "iosSigningIdentity"
                  ]
                },
                "signingProvisioningProfileID": {
                  "type": "string",
                  "description": "Provisioning profile UUID",
                  "ignoreCase": "key",
                  "aliases": [
                    "provProfileUuid"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Xamarin.iOS\n\nBuild an iOS app with Xamarin on macOS",
              "ignoreCase": "value",
              "pattern": "^XamariniOS@1$"
            },
            "inputs": {
              "description": "Xamarin.iOS inputs",
              "properties": {
                "solutionFile": {
                  "type": "string",
                  "description": "Solution",
                  "ignoreCase": "key",
                  "aliases": [
                    "solution"
                  ]
                },
                "configuration": {
                  "type": "string",
                  "description": "Configuration",
                  "ignoreCase": "key"
                },
                "clean": {
                  "type": "boolean",
                  "description": "Clean",
                  "ignoreCase": "key"
                },
                "packageApp": {
                  "type": "boolean",
                  "description": "Create app package",
                  "ignoreCase": "key"
                },
                "buildForSimulator": {
                  "type": "boolean",
                  "description": "Build for iOS Simulator",
                  "ignoreCase": "key",
                  "aliases": [
                    "forSimulator"
                  ]
                },
                "runNugetRestore": {
                  "type": "boolean",
                  "description": "Run NuGet restore",
                  "ignoreCase": "key"
                },
                "args": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "buildToolOption": {
                  "description": "Build tool",
                  "ignoreCase": "all",
                  "enum": [
                    "xbuild",
                    "msbuild"
                  ],
                  "aliases": [
                    "buildTool"
                  ]
                },
                "mdtoolFile": {
                  "type": "string",
                  "description": "Build tool path",
                  "ignoreCase": "key",
                  "aliases": [
                    "mdtoolLocation"
                  ]
                },
                "signingOption": {
                  "description": "Override using",
                  "ignoreCase": "all",
                  "enum": [
                    "file",
                    "id"
                  ],
                  "aliases": [
                    "signMethod"
                  ]
                },
                "signingIdentity": {
                  "type": "string",
                  "description": "Signing identity",
                  "ignoreCase": "key",
                  "aliases": [
                    "iosSigningIdentity"
                  ]
                },
                "signingUnlockDefaultKeychain": {
                  "type": "boolean",
                  "description": "Unlock default keychain",
                  "ignoreCase": "key",
                  "aliases": [
                    "unlockDefaultKeychain"
                  ]
                },
                "signingDefaultKeychainPassword": {
                  "type": "string",
                  "description": "Default keychain password",
                  "ignoreCase": "key",
                  "aliases": [
                    "defaultKeychainPassword"
                  ]
                },
                "signingProvisioningProfileID": {
                  "type": "string",
                  "description": "Provisioning profile UUID",
                  "ignoreCase": "key",
                  "aliases": [
                    "provProfileUuid"
                  ]
                },
                "signingP12File": {
                  "type": "string",
                  "description": "P12 certificate file",
                  "ignoreCase": "key",
                  "aliases": [
                    "p12"
                  ]
                },
                "signingP12Password": {
                  "type": "string",
                  "description": "P12 password",
                  "ignoreCase": "key",
                  "aliases": [
                    "p12pwd"
                  ]
                },
                "signingProvisioningProfileFile": {
                  "type": "string",
                  "description": "Provisioning profile file",
                  "ignoreCase": "key",
                  "aliases": [
                    "provProfile"
                  ]
                },
                "signingRemoveProfile": {
                  "type": "boolean",
                  "description": "Remove profile after build",
                  "ignoreCase": "key",
                  "aliases": [
                    "removeProfile"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Publish test results\n\nPublish test results to Azure Pipelines",
              "ignoreCase": "value",
              "pattern": "^PublishTestResults@1$"
            },
            "inputs": {
              "description": "Publish test results inputs",
              "properties": {
                "testRunner": {
                  "description": "Test Result Format",
                  "ignoreCase": "all",
                  "enum": [
                    "JUnit",
                    "NUnit",
                    "VSTest",
                    "XUnit"
                  ]
                },
                "testResultsFiles": {
                  "type": "string",
                  "description": "Test Results Files",
                  "ignoreCase": "key"
                },
                "mergeTestResults": {
                  "type": "boolean",
                  "description": "Merge Test Results",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test Run Title",
                  "ignoreCase": "key"
                },
                "platform": {
                  "type": "string",
                  "description": "Platform",
                  "ignoreCase": "key"
                },
                "configuration": {
                  "type": "string",
                  "description": "Configuration",
                  "ignoreCase": "key"
                },
                "publishRunAttachments": {
                  "type": "boolean",
                  "description": "Upload Test Attachments",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Publish Test Results\n\nPublish test results to Azure Pipelines",
              "ignoreCase": "value",
              "pattern": "^PublishTestResults@2$"
            },
            "inputs": {
              "description": "Publish Test Results inputs",
              "properties": {
                "testResultsFormat": {
                  "description": "Test result format",
                  "ignoreCase": "all",
                  "enum": [
                    "JUnit",
                    "NUnit",
                    "VSTest",
                    "XUnit",
                    "CTest"
                  ],
                  "aliases": [
                    "testRunner"
                  ]
                },
                "testResultsFiles": {
                  "type": "string",
                  "description": "Test results files",
                  "ignoreCase": "key"
                },
                "searchFolder": {
                  "type": "string",
                  "description": "Search folder",
                  "ignoreCase": "key"
                },
                "mergeTestResults": {
                  "type": "boolean",
                  "description": "Merge test results",
                  "ignoreCase": "key"
                },
                "failTaskOnFailedTests": {
                  "type": "boolean",
                  "description": "Fail if there are test failures",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test run title",
                  "ignoreCase": "key"
                },
                "buildPlatform": {
                  "type": "string",
                  "description": "Build Platform",
                  "ignoreCase": "key",
                  "aliases": [
                    "platform"
                  ]
                },
                "buildConfiguration": {
                  "type": "string",
                  "description": "Build Configuration",
                  "ignoreCase": "key",
                  "aliases": [
                    "configuration"
                  ]
                },
                "publishRunAttachments": {
                  "type": "boolean",
                  "description": "Upload test results files",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure file copy\n\nCopy files to Azure Blob Storage or virtual machines",
              "ignoreCase": "value",
              "pattern": "^AzureFileCopy@1$"
            },
            "inputs": {
              "description": "Azure file copy inputs",
              "properties": {
                "SourcePath": {
                  "type": "string",
                  "description": "Source",
                  "ignoreCase": "key"
                },
                "azureConnectionType": {
                  "description": "Azure Connection Type",
                  "ignoreCase": "all",
                  "enum": [
                    "ConnectedServiceName",
                    "ConnectedServiceNameARM"
                  ],
                  "aliases": [
                    "ConnectedServiceNameSelector"
                  ]
                },
                "azureClassicSubscription": {
                  "type": "string",
                  "description": "Azure Classic Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceNameARM"
                  ]
                },
                "Destination": {
                  "description": "Destination Type",
                  "ignoreCase": "all",
                  "enum": [
                    "AzureBlob",
                    "AzureVMs"
                  ]
                },
                "classicStorage": {
                  "type": "string",
                  "description": "Classic Storage Account",
                  "ignoreCase": "key",
                  "aliases": [
                    "StorageAccount"
                  ]
                },
                "storage": {
                  "type": "string",
                  "description": "RM Storage Account",
                  "ignoreCase": "key",
                  "aliases": [
                    "StorageAccountRM"
                  ]
                },
                "ContainerName": {
                  "type": "string",
                  "description": "Container Name",
                  "ignoreCase": "key"
                },
                "BlobPrefix": {
                  "type": "string",
                  "description": "Blob Prefix",
                  "ignoreCase": "key"
                },
                "cloudService": {
                  "type": "string",
                  "description": "Cloud Service",
                  "ignoreCase": "key",
                  "aliases": [
                    "EnvironmentName"
                  ]
                },
                "resourceGroup": {
                  "type": "string",
                  "description": "Resource Group",
                  "ignoreCase": "key",
                  "aliases": [
                    "EnvironmentNameRM"
                  ]
                },
                "ResourceFilteringMethod": {
                  "description": "Select Machines By",
                  "ignoreCase": "all",
                  "enum": [
                    "machineNames",
                    "tags"
                  ]
                },
                "MachineNames": {
                  "type": "string",
                  "description": "Filter Criteria",
                  "ignoreCase": "key"
                },
                "vmsAdminUserName": {
                  "type": "string",
                  "description": "Admin Login",
                  "ignoreCase": "key"
                },
                "vmsAdminPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "TargetPath": {
                  "type": "string",
                  "description": "Destination Folder",
                  "ignoreCase": "key"
                },
                "AdditionalArguments": {
                  "type": "string",
                  "description": "Additional Arguments",
                  "ignoreCase": "key"
                },
                "enableCopyPrerequisites": {
                  "type": "boolean",
                  "description": "Enable Copy Prerequisites",
                  "ignoreCase": "key"
                },
                "CopyFilesInParallel": {
                  "type": "boolean",
                  "description": "Copy in Parallel",
                  "ignoreCase": "key"
                },
                "CleanTargetBeforeCopy": {
                  "type": "boolean",
                  "description": "Clean Target",
                  "ignoreCase": "key"
                },
                "skipCACheck": {
                  "type": "boolean",
                  "description": "Test Certificate",
                  "ignoreCase": "key"
                },
                "outputStorageUri": {
                  "type": "string",
                  "description": "Storage Container URI",
                  "ignoreCase": "key"
                },
                "outputStorageContainerSasToken": {
                  "type": "string",
                  "description": "Storage Container SAS Token",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "SourcePath",
                "Destination"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure file copy\n\nCopy files to Azure Blob Storage or virtual machines",
              "ignoreCase": "value",
              "pattern": "^AzureFileCopy@4$"
            },
            "inputs": {
              "description": "Azure file copy inputs",
              "properties": {
                "SourcePath": {
                  "type": "string",
                  "description": "Source",
                  "ignoreCase": "key"
                },
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceNameARM"
                  ]
                },
                "Destination": {
                  "description": "Destination Type",
                  "ignoreCase": "all",
                  "enum": [
                    "AzureBlob",
                    "AzureVMs"
                  ]
                },
                "storage": {
                  "type": "string",
                  "description": "RM Storage Account",
                  "ignoreCase": "key",
                  "aliases": [
                    "StorageAccountRM"
                  ]
                },
                "ContainerName": {
                  "type": "string",
                  "description": "Container Name",
                  "ignoreCase": "key"
                },
                "BlobPrefix": {
                  "type": "string",
                  "description": "Blob Prefix",
                  "ignoreCase": "key"
                },
                "resourceGroup": {
                  "type": "string",
                  "description": "Resource Group",
                  "ignoreCase": "key",
                  "aliases": [
                    "EnvironmentNameRM"
                  ]
                },
                "ResourceFilteringMethod": {
                  "description": "Select Machines By",
                  "ignoreCase": "all",
                  "enum": [
                    "machineNames",
                    "tags"
                  ]
                },
                "MachineNames": {
                  "type": "string",
                  "description": "Filter Criteria",
                  "ignoreCase": "key"
                },
                "vmsAdminUserName": {
                  "type": "string",
                  "description": "Admin Login",
                  "ignoreCase": "key"
                },
                "vmsAdminPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "TargetPath": {
                  "type": "string",
                  "description": "Destination Folder",
                  "ignoreCase": "key"
                },
                "AdditionalArgumentsForBlobCopy": {
                  "type": "string",
                  "description": "Optional Arguments (for uploading files to blob)",
                  "ignoreCase": "key"
                },
                "AdditionalArgumentsForVMCopy": {
                  "type": "string",
                  "description": "Optional Arguments (for downloading files to VM)",
                  "ignoreCase": "key"
                },
                "sasTokenTimeOutInMinutes": {
                  "type": "string",
                  "description": "SAS Token Expiration Period In Minutes",
                  "ignoreCase": "key"
                },
                "enableCopyPrerequisites": {
                  "type": "boolean",
                  "description": "Enable Copy Prerequisites",
                  "ignoreCase": "key"
                },
                "CopyFilesInParallel": {
                  "type": "boolean",
                  "description": "Copy in Parallel",
                  "ignoreCase": "key"
                },
                "CleanTargetBeforeCopy": {
                  "type": "boolean",
                  "description": "Clean Target",
                  "ignoreCase": "key"
                },
                "skipCACheck": {
                  "type": "boolean",
                  "description": "Test Certificate",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "SourcePath",
                "azureSubscription",
                "Destination",
                "storage"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure file copy\n\nCopy files to Azure Blob Storage or virtual machines",
              "ignoreCase": "value",
              "pattern": "^AzureFileCopy@5$"
            },
            "inputs": {
              "description": "Azure file copy inputs",
              "properties": {
                "SourcePath": {
                  "type": "string",
                  "description": "Source",
                  "ignoreCase": "key"
                },
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceNameARM"
                  ]
                },
                "Destination": {
                  "description": "Destination Type",
                  "ignoreCase": "all",
                  "enum": [
                    "AzureBlob",
                    "AzureVMs"
                  ]
                },
                "storage": {
                  "type": "string",
                  "description": "RM Storage Account",
                  "ignoreCase": "key",
                  "aliases": [
                    "StorageAccountRM"
                  ]
                },
                "ContainerName": {
                  "type": "string",
                  "description": "Container Name",
                  "ignoreCase": "key"
                },
                "BlobPrefix": {
                  "type": "string",
                  "description": "Blob Prefix",
                  "ignoreCase": "key"
                },
                "resourceGroup": {
                  "type": "string",
                  "description": "Resource Group",
                  "ignoreCase": "key",
                  "aliases": [
                    "EnvironmentNameRM"
                  ]
                },
                "ResourceFilteringMethod": {
                  "description": "Select Machines By",
                  "ignoreCase": "all",
                  "enum": [
                    "machineNames",
                    "tags"
                  ]
                },
                "MachineNames": {
                  "type": "string",
                  "description": "Filter Criteria",
                  "ignoreCase": "key"
                },
                "vmsAdminUserName": {
                  "type": "string",
                  "description": "Admin Login",
                  "ignoreCase": "key"
                },
                "vmsAdminPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "TargetPath": {
                  "type": "string",
                  "description": "Destination Folder",
                  "ignoreCase": "key"
                },
                "AdditionalArgumentsForBlobCopy": {
                  "type": "string",
                  "description": "Optional Arguments (for uploading files to blob)",
                  "ignoreCase": "key"
                },
                "AdditionalArgumentsForVMCopy": {
                  "type": "string",
                  "description": "Optional Arguments (for downloading files to VM)",
                  "ignoreCase": "key"
                },
                "sasTokenTimeOutInMinutes": {
                  "type": "string",
                  "description": "SAS Token Expiration Period In Minutes",
                  "ignoreCase": "key"
                },
                "enableCopyPrerequisites": {
                  "type": "boolean",
                  "description": "Enable Copy Prerequisites",
                  "ignoreCase": "key"
                },
                "CopyFilesInParallel": {
                  "type": "boolean",
                  "description": "Copy in Parallel",
                  "ignoreCase": "key"
                },
                "CleanTargetBeforeCopy": {
                  "type": "boolean",
                  "description": "Clean Target",
                  "ignoreCase": "key"
                },
                "skipCACheck": {
                  "type": "boolean",
                  "description": "Test Certificate",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "SourcePath",
                "azureSubscription",
                "Destination",
                "storage"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure file copy\n\nCopy files to Azure Blob Storage or virtual machines",
              "ignoreCase": "value",
              "pattern": "^AzureFileCopy@2$"
            },
            "inputs": {
              "description": "Azure file copy inputs",
              "properties": {
                "SourcePath": {
                  "type": "string",
                  "description": "Source",
                  "ignoreCase": "key"
                },
                "azureConnectionType": {
                  "description": "Azure Connection Type",
                  "ignoreCase": "all",
                  "enum": [
                    "ConnectedServiceName",
                    "ConnectedServiceNameARM"
                  ],
                  "aliases": [
                    "ConnectedServiceNameSelector"
                  ]
                },
                "azureClassicSubscription": {
                  "type": "string",
                  "description": "Azure Classic Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceNameARM"
                  ]
                },
                "Destination": {
                  "description": "Destination Type",
                  "ignoreCase": "all",
                  "enum": [
                    "AzureBlob",
                    "AzureVMs"
                  ]
                },
                "classicStorage": {
                  "type": "string",
                  "description": "Classic Storage Account",
                  "ignoreCase": "key",
                  "aliases": [
                    "StorageAccount"
                  ]
                },
                "storage": {
                  "type": "string",
                  "description": "RM Storage Account",
                  "ignoreCase": "key",
                  "aliases": [
                    "StorageAccountRM"
                  ]
                },
                "ContainerName": {
                  "type": "string",
                  "description": "Container Name",
                  "ignoreCase": "key"
                },
                "BlobPrefix": {
                  "type": "string",
                  "description": "Blob Prefix",
                  "ignoreCase": "key"
                },
                "cloudService": {
                  "type": "string",
                  "description": "Cloud Service",
                  "ignoreCase": "key",
                  "aliases": [
                    "EnvironmentName"
                  ]
                },
                "resourceGroup": {
                  "type": "string",
                  "description": "Resource Group",
                  "ignoreCase": "key",
                  "aliases": [
                    "EnvironmentNameRM"
                  ]
                },
                "ResourceFilteringMethod": {
                  "description": "Select Machines By",
                  "ignoreCase": "all",
                  "enum": [
                    "machineNames",
                    "tags"
                  ]
                },
                "MachineNames": {
                  "type": "string",
                  "description": "Filter Criteria",
                  "ignoreCase": "key"
                },
                "vmsAdminUserName": {
                  "type": "string",
                  "description": "Admin Login",
                  "ignoreCase": "key"
                },
                "vmsAdminPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "TargetPath": {
                  "type": "string",
                  "description": "Destination Folder",
                  "ignoreCase": "key"
                },
                "AdditionalArgumentsForBlobCopy": {
                  "type": "string",
                  "description": "Optional Arguments (for uploading files to blob)",
                  "ignoreCase": "key"
                },
                "AdditionalArgumentsForVMCopy": {
                  "type": "string",
                  "description": "Optional Arguments (for downloading files to VM)",
                  "ignoreCase": "key"
                },
                "enableCopyPrerequisites": {
                  "type": "boolean",
                  "description": "Enable Copy Prerequisites",
                  "ignoreCase": "key"
                },
                "CopyFilesInParallel": {
                  "type": "boolean",
                  "description": "Copy in Parallel",
                  "ignoreCase": "key"
                },
                "CleanTargetBeforeCopy": {
                  "type": "boolean",
                  "description": "Clean Target",
                  "ignoreCase": "key"
                },
                "skipCACheck": {
                  "type": "boolean",
                  "description": "Test Certificate",
                  "ignoreCase": "key"
                },
                "outputStorageUri": {
                  "type": "string",
                  "description": "Storage Container URI",
                  "ignoreCase": "key"
                },
                "outputStorageContainerSasToken": {
                  "type": "string",
                  "description": "Storage Container SAS Token",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "SourcePath",
                "Destination"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure file copy\n\nCopy files to Azure Blob Storage or virtual machines",
              "ignoreCase": "value",
              "pattern": "^AzureFileCopy@3$"
            },
            "inputs": {
              "description": "Azure file copy inputs",
              "properties": {
                "SourcePath": {
                  "type": "string",
                  "description": "Source",
                  "ignoreCase": "key"
                },
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceNameARM"
                  ]
                },
                "Destination": {
                  "description": "Destination Type",
                  "ignoreCase": "all",
                  "enum": [
                    "AzureBlob",
                    "AzureVMs"
                  ]
                },
                "storage": {
                  "type": "string",
                  "description": "RM Storage Account",
                  "ignoreCase": "key",
                  "aliases": [
                    "StorageAccountRM"
                  ]
                },
                "ContainerName": {
                  "type": "string",
                  "description": "Container Name",
                  "ignoreCase": "key"
                },
                "BlobPrefix": {
                  "type": "string",
                  "description": "Blob Prefix",
                  "ignoreCase": "key"
                },
                "resourceGroup": {
                  "type": "string",
                  "description": "Resource Group",
                  "ignoreCase": "key",
                  "aliases": [
                    "EnvironmentNameRM"
                  ]
                },
                "ResourceFilteringMethod": {
                  "description": "Select Machines By",
                  "ignoreCase": "all",
                  "enum": [
                    "machineNames",
                    "tags"
                  ]
                },
                "MachineNames": {
                  "type": "string",
                  "description": "Filter Criteria",
                  "ignoreCase": "key"
                },
                "vmsAdminUserName": {
                  "type": "string",
                  "description": "Admin Login",
                  "ignoreCase": "key"
                },
                "vmsAdminPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "TargetPath": {
                  "type": "string",
                  "description": "Destination Folder",
                  "ignoreCase": "key"
                },
                "AdditionalArgumentsForBlobCopy": {
                  "type": "string",
                  "description": "Optional Arguments (for uploading files to blob)",
                  "ignoreCase": "key"
                },
                "AdditionalArgumentsForVMCopy": {
                  "type": "string",
                  "description": "Optional Arguments (for downloading files to VM)",
                  "ignoreCase": "key"
                },
                "enableCopyPrerequisites": {
                  "type": "boolean",
                  "description": "Enable Copy Prerequisites",
                  "ignoreCase": "key"
                },
                "CopyFilesInParallel": {
                  "type": "boolean",
                  "description": "Copy in Parallel",
                  "ignoreCase": "key"
                },
                "CleanTargetBeforeCopy": {
                  "type": "boolean",
                  "description": "Clean Target",
                  "ignoreCase": "key"
                },
                "skipCACheck": {
                  "type": "boolean",
                  "description": "Test Certificate",
                  "ignoreCase": "key"
                },
                "outputStorageUri": {
                  "type": "string",
                  "description": "Storage Container URI",
                  "ignoreCase": "key"
                },
                "outputStorageContainerSasToken": {
                  "type": "string",
                  "description": "Storage Container SAS Token",
                  "ignoreCase": "key"
                },
                "sasTokenTimeOutInMinutes": {
                  "type": "string",
                  "description": "SAS Token Expiration Period In Minutes",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "SourcePath",
                "azureSubscription",
                "Destination",
                "storage"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Index sources and publish symbols\n\nIndex your source code and publish symbols to a file share or Azure Artifacts symbol server",
              "ignoreCase": "value",
              "pattern": "^PublishSymbols@2$"
            },
            "inputs": {
              "description": "Index sources and publish symbols inputs",
              "properties": {
                "SymbolsFolder": {
                  "type": "string",
                  "description": "Path to symbols folder",
                  "ignoreCase": "key"
                },
                "SearchPattern": {
                  "type": "string",
                  "description": "Search pattern",
                  "ignoreCase": "key"
                },
                "IndexSources": {
                  "type": "boolean",
                  "description": "Index sources",
                  "ignoreCase": "key"
                },
                "PublishSymbols": {
                  "type": "boolean",
                  "description": "Publish symbols",
                  "ignoreCase": "key"
                },
                "SymbolServerType": {
                  "description": "Symbol server type",
                  "ignoreCase": "all",
                  "enum": [
                    " ",
                    "TeamServices",
                    "FileShare"
                  ]
                },
                "SymbolsPath": {
                  "type": "string",
                  "description": "Path to publish symbols",
                  "ignoreCase": "key"
                },
                "CompressSymbols": {
                  "type": "boolean",
                  "description": "Compress symbols",
                  "ignoreCase": "key"
                },
                "SymbolExpirationInDays": {
                  "type": "string",
                  "description": "Symbol Expiration (in days)",
                  "ignoreCase": "key"
                },
                "IndexableFileFormats": {
                  "description": "Symbol file formats to publish",
                  "ignoreCase": "all",
                  "enum": [
                    "Default",
                    "Pdb",
                    "SourceMap",
                    "All"
                  ]
                },
                "DetailedLog": {
                  "type": "boolean",
                  "description": "Verbose logging",
                  "ignoreCase": "key"
                },
                "TreatNotIndexedAsWarning": {
                  "type": "boolean",
                  "description": "Warn if not indexed",
                  "ignoreCase": "key"
                },
                "UseNetCoreClientTool": {
                  "type": "boolean",
                  "description": "Use NetCore client tool",
                  "ignoreCase": "key"
                },
                "SymbolsMaximumWaitTime": {
                  "type": "string",
                  "description": "Max wait time (min)",
                  "ignoreCase": "key"
                },
                "SymbolsProduct": {
                  "type": "string",
                  "description": "Product",
                  "ignoreCase": "key"
                },
                "SymbolsVersion": {
                  "type": "string",
                  "description": "Version",
                  "ignoreCase": "key"
                },
                "SymbolsArtifactName": {
                  "type": "string",
                  "description": "Artifact name",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Index Sources & Publish Symbols\n\nIndex your source code and publish symbols to a file share",
              "ignoreCase": "value",
              "pattern": "^PublishSymbols@1$"
            },
            "inputs": {
              "description": "Index Sources & Publish Symbols inputs",
              "properties": {
                "SymbolsPath": {
                  "type": "string",
                  "description": "Path to publish symbols",
                  "ignoreCase": "key"
                },
                "SearchPattern": {
                  "type": "string",
                  "description": "Search pattern",
                  "ignoreCase": "key"
                },
                "SymbolsFolder": {
                  "type": "string",
                  "description": "Path to symbols folder",
                  "ignoreCase": "key"
                },
                "SkipIndexing": {
                  "type": "boolean",
                  "description": "Skip indexing",
                  "ignoreCase": "key"
                },
                "TreatNotIndexedAsWarning": {
                  "type": "boolean",
                  "description": "Warn if not indexed",
                  "ignoreCase": "key"
                },
                "SymbolsMaximumWaitTime": {
                  "type": "string",
                  "description": "Max wait time (min)",
                  "ignoreCase": "key"
                },
                "SymbolsProduct": {
                  "type": "string",
                  "description": "Product",
                  "ignoreCase": "key"
                },
                "SymbolsVersion": {
                  "type": "string",
                  "description": "Version",
                  "ignoreCase": "key"
                },
                "SymbolsArtifactName": {
                  "type": "string",
                  "description": "Artifact name",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Copy files over SSH\n\nCopy files or build artifacts to a remote machine over SSH",
              "ignoreCase": "value",
              "pattern": "^CopyFilesOverSSH@0$"
            },
            "inputs": {
              "description": "Copy files over SSH inputs",
              "properties": {
                "sshEndpoint": {
                  "type": "string",
                  "description": "SSH service connection",
                  "ignoreCase": "key"
                },
                "sourceFolder": {
                  "type": "string",
                  "description": "Source folder",
                  "ignoreCase": "key"
                },
                "contents": {
                  "type": "string",
                  "description": "Contents",
                  "ignoreCase": "key"
                },
                "targetFolder": {
                  "type": "string",
                  "description": "Target folder",
                  "ignoreCase": "key"
                },
                "isWindowsOnTarget": {
                  "type": "boolean",
                  "description": "Target machine running Windows",
                  "ignoreCase": "key"
                },
                "cleanTargetFolder": {
                  "type": "boolean",
                  "description": "Clean target folder",
                  "ignoreCase": "key"
                },
                "cleanHiddenFilesInTarget": {
                  "type": "boolean",
                  "description": "Remove hidden files in target folder",
                  "ignoreCase": "key"
                },
                "readyTimeout": {
                  "type": "string",
                  "description": "SSH handshake timeout",
                  "ignoreCase": "key"
                },
                "overwrite": {
                  "type": "boolean",
                  "description": "Overwrite",
                  "ignoreCase": "key"
                },
                "failOnEmptySource": {
                  "type": "boolean",
                  "description": "Fail if no files found to copy",
                  "ignoreCase": "key"
                },
                "flattenFolders": {
                  "type": "boolean",
                  "description": "Flatten folders",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "sshEndpoint"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Gradle\n\nBuild using a Gradle wrapper script",
              "ignoreCase": "value",
              "pattern": "^Gradle@2$"
            },
            "inputs": {
              "description": "Gradle inputs",
              "properties": {
                "gradleWrapperFile": {
                  "type": "string",
                  "description": "Gradle wrapper",
                  "ignoreCase": "key",
                  "aliases": [
                    "wrapperScript"
                  ]
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "options": {
                  "type": "string",
                  "description": "Options",
                  "ignoreCase": "key"
                },
                "tasks": {
                  "type": "string",
                  "description": "Tasks",
                  "ignoreCase": "key"
                },
                "publishJUnitResults": {
                  "type": "boolean",
                  "description": "Publish to Azure Pipelines",
                  "ignoreCase": "key"
                },
                "testResultsFiles": {
                  "type": "string",
                  "description": "Test results files",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test run title",
                  "ignoreCase": "key"
                },
                "codeCoverageToolOption": {
                  "description": "Code coverage tool",
                  "ignoreCase": "all",
                  "enum": [
                    "None",
                    "Cobertura",
                    "JaCoCo"
                  ],
                  "aliases": [
                    "codeCoverageTool"
                  ]
                },
                "codeCoverageClassFilesDirectories": {
                  "type": "string",
                  "description": "Class files directories",
                  "ignoreCase": "key",
                  "aliases": [
                    "classFilesDirectories"
                  ]
                },
                "codeCoverageClassFilter": {
                  "type": "string",
                  "description": "Class inclusion/exclusion filters",
                  "ignoreCase": "key",
                  "aliases": [
                    "classFilter"
                  ]
                },
                "codeCoverageFailIfEmpty": {
                  "type": "boolean",
                  "description": "Fail when code coverage results are missing",
                  "ignoreCase": "key",
                  "aliases": [
                    "failIfCoverageEmpty"
                  ]
                },
                "codeCoverageGradle5xOrHigher": {
                  "type": "boolean",
                  "description": "Gradle version >= 5.x",
                  "ignoreCase": "key",
                  "aliases": [
                    "gradle5xOrHigher"
                  ]
                },
                "javaHomeOption": {
                  "description": "Set JAVA_HOME by",
                  "ignoreCase": "all",
                  "enum": [
                    "JDKVersion",
                    "Path"
                  ],
                  "aliases": [
                    "javaHomeSelection"
                  ]
                },
                "jdkVersionOption": {
                  "description": "JDK version",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "1.17",
                    "1.11",
                    "1.10",
                    "1.9",
                    "1.8",
                    "1.7",
                    "1.6"
                  ],
                  "aliases": [
                    "jdkVersion"
                  ]
                },
                "jdkDirectory": {
                  "type": "string",
                  "description": "JDK path",
                  "ignoreCase": "key",
                  "aliases": [
                    "jdkUserInputPath"
                  ]
                },
                "jdkArchitectureOption": {
                  "description": "JDK architecture",
                  "ignoreCase": "all",
                  "enum": [
                    "x86",
                    "x64"
                  ],
                  "aliases": [
                    "jdkArchitecture"
                  ]
                },
                "gradleOptions": {
                  "type": "string",
                  "description": "Set GRADLE_OPTS",
                  "ignoreCase": "key",
                  "aliases": [
                    "gradleOpts"
                  ]
                },
                "sonarQubeRunAnalysis": {
                  "type": "boolean",
                  "description": "Run SonarQube or SonarCloud Analysis",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqAnalysisEnabled"
                  ]
                },
                "sqGradlePluginVersionChoice": {
                  "description": "SonarQube scanner for Gradle version",
                  "ignoreCase": "all",
                  "enum": [
                    "specify",
                    "build"
                  ]
                },
                "sonarQubeGradlePluginVersion": {
                  "type": "string",
                  "description": "SonarQube scanner for Gradle plugin version",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqGradlePluginVersion"
                  ]
                },
                "checkStyleRunAnalysis": {
                  "type": "boolean",
                  "description": "Run Checkstyle",
                  "ignoreCase": "key",
                  "aliases": [
                    "checkstyleAnalysisEnabled"
                  ]
                },
                "findBugsRunAnalysis": {
                  "type": "boolean",
                  "description": "Run FindBugs",
                  "ignoreCase": "key",
                  "aliases": [
                    "findbugsAnalysisEnabled"
                  ]
                },
                "pmdRunAnalysis": {
                  "type": "boolean",
                  "description": "Run PMD",
                  "ignoreCase": "key",
                  "aliases": [
                    "pmdAnalysisEnabled"
                  ]
                },
                "spotBugsAnalysis": {
                  "type": "boolean",
                  "description": "Run SpotBugs",
                  "ignoreCase": "key",
                  "aliases": [
                    "spotBugsAnalysisEnabled"
                  ]
                },
                "spotBugsGradlePluginVersionChoice": {
                  "description": "Spotbugs plugin version",
                  "ignoreCase": "all",
                  "enum": [
                    "specify",
                    "build"
                  ]
                },
                "spotbugsGradlePluginVersion": {
                  "type": "string",
                  "description": "Version number",
                  "ignoreCase": "key",
                  "aliases": [
                    "spotbugsGradlePluginVersion"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Gradle\n\nBuild using a Gradle wrapper script",
              "ignoreCase": "value",
              "pattern": "^Gradle@3$"
            },
            "inputs": {
              "description": "Gradle inputs",
              "properties": {
                "gradleWrapperFile": {
                  "type": "string",
                  "description": "Gradle wrapper",
                  "ignoreCase": "key",
                  "aliases": [
                    "wrapperScript"
                  ]
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "options": {
                  "type": "string",
                  "description": "Options",
                  "ignoreCase": "key"
                },
                "tasks": {
                  "type": "string",
                  "description": "Tasks",
                  "ignoreCase": "key"
                },
                "publishJUnitResults": {
                  "type": "boolean",
                  "description": "Publish to Azure Pipelines",
                  "ignoreCase": "key"
                },
                "testResultsFiles": {
                  "type": "string",
                  "description": "Test results files",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test run title",
                  "ignoreCase": "key"
                },
                "codeCoverageToolOption": {
                  "description": "Code coverage tool",
                  "ignoreCase": "all",
                  "enum": [
                    "None",
                    "Cobertura",
                    "JaCoCo"
                  ],
                  "aliases": [
                    "codeCoverageTool"
                  ]
                },
                "codeCoverageClassFilesDirectories": {
                  "type": "string",
                  "description": "Class files directories",
                  "ignoreCase": "key",
                  "aliases": [
                    "classFilesDirectories"
                  ]
                },
                "codeCoverageClassFilter": {
                  "type": "string",
                  "description": "Class inclusion/exclusion filters",
                  "ignoreCase": "key",
                  "aliases": [
                    "classFilter"
                  ]
                },
                "codeCoverageFailIfEmpty": {
                  "type": "boolean",
                  "description": "Fail when code coverage results are missing",
                  "ignoreCase": "key",
                  "aliases": [
                    "failIfCoverageEmpty"
                  ]
                },
                "codeCoverageGradle5xOrHigher": {
                  "type": "boolean",
                  "description": "Gradle version >= 5.x",
                  "ignoreCase": "key",
                  "aliases": [
                    "gradle5xOrHigher"
                  ]
                },
                "javaHomeOption": {
                  "description": "Set JAVA_HOME by",
                  "ignoreCase": "all",
                  "enum": [
                    "JDKVersion",
                    "Path"
                  ],
                  "aliases": [
                    "javaHomeSelection"
                  ]
                },
                "jdkVersionOption": {
                  "description": "JDK version",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "1.17",
                    "1.11",
                    "1.10",
                    "1.9",
                    "1.8",
                    "1.7",
                    "1.6"
                  ],
                  "aliases": [
                    "jdkVersion"
                  ]
                },
                "jdkDirectory": {
                  "type": "string",
                  "description": "JDK path",
                  "ignoreCase": "key",
                  "aliases": [
                    "jdkUserInputPath"
                  ]
                },
                "jdkArchitectureOption": {
                  "description": "JDK architecture",
                  "ignoreCase": "all",
                  "enum": [
                    "x86",
                    "x64"
                  ],
                  "aliases": [
                    "jdkArchitecture"
                  ]
                },
                "gradleOptions": {
                  "type": "string",
                  "description": "Set GRADLE_OPTS",
                  "ignoreCase": "key",
                  "aliases": [
                    "gradleOpts"
                  ]
                },
                "sonarQubeRunAnalysis": {
                  "type": "boolean",
                  "description": "Run SonarQube or SonarCloud Analysis",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqAnalysisEnabled"
                  ]
                },
                "sqGradlePluginVersionChoice": {
                  "description": "SonarQube scanner for Gradle version",
                  "ignoreCase": "all",
                  "enum": [
                    "specify",
                    "build"
                  ]
                },
                "sonarQubeGradlePluginVersion": {
                  "type": "string",
                  "description": "SonarQube scanner for Gradle plugin version",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqGradlePluginVersion"
                  ]
                },
                "checkStyleRunAnalysis": {
                  "type": "boolean",
                  "description": "Run Checkstyle",
                  "ignoreCase": "key",
                  "aliases": [
                    "checkstyleAnalysisEnabled"
                  ]
                },
                "findBugsRunAnalysis": {
                  "type": "boolean",
                  "description": "Run FindBugs",
                  "ignoreCase": "key",
                  "aliases": [
                    "findbugsAnalysisEnabled"
                  ]
                },
                "pmdRunAnalysis": {
                  "type": "boolean",
                  "description": "Run PMD",
                  "ignoreCase": "key",
                  "aliases": [
                    "pmdAnalysisEnabled"
                  ]
                },
                "spotBugsAnalysis": {
                  "type": "boolean",
                  "description": "Run SpotBugs",
                  "ignoreCase": "key",
                  "aliases": [
                    "spotBugsAnalysisEnabled"
                  ]
                },
                "spotBugsGradlePluginVersionChoice": {
                  "description": "Spotbugs plugin version",
                  "ignoreCase": "all",
                  "enum": [
                    "specify",
                    "build"
                  ]
                },
                "spotbugsGradlePluginVersion": {
                  "type": "string",
                  "description": "Version number",
                  "ignoreCase": "key",
                  "aliases": [
                    "spotbugsGradlePluginVersion"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Gradle\n\nBuild using a Gradle wrapper script",
              "ignoreCase": "value",
              "pattern": "^Gradle@1$"
            },
            "inputs": {
              "description": "Gradle inputs",
              "properties": {
                "gradleWrapperFile": {
                  "type": "string",
                  "description": "Gradle Wrapper",
                  "ignoreCase": "key",
                  "aliases": [
                    "wrapperScript"
                  ]
                },
                "options": {
                  "type": "string",
                  "description": "Options",
                  "ignoreCase": "key"
                },
                "tasks": {
                  "type": "string",
                  "description": "Tasks",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "publishJUnitResults": {
                  "type": "boolean",
                  "description": "Publish to TFS/Team Services",
                  "ignoreCase": "key"
                },
                "testResultsFiles": {
                  "type": "string",
                  "description": "Test Results Files",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test Run Title",
                  "ignoreCase": "key"
                },
                "codeCoverageToolOption": {
                  "description": "Code Coverage Tool",
                  "ignoreCase": "all",
                  "enum": [
                    "None",
                    "Cobertura",
                    "JaCoCo"
                  ],
                  "aliases": [
                    "codeCoverageTool"
                  ]
                },
                "codeCoverageClassFilesDirectories": {
                  "type": "string",
                  "description": "Class Files Directories",
                  "ignoreCase": "key",
                  "aliases": [
                    "classFilesDirectories"
                  ]
                },
                "codeCoverageClassFilter": {
                  "type": "string",
                  "description": "Class Inclusion/Exclusion Filters",
                  "ignoreCase": "key",
                  "aliases": [
                    "classFilter"
                  ]
                },
                "codeCoverageFailIfEmpty": {
                  "type": "boolean",
                  "description": "Fail When Code Coverage Results Are Missing",
                  "ignoreCase": "key",
                  "aliases": [
                    "failIfCoverageEmpty"
                  ]
                },
                "javaHomeOption": {
                  "description": "Set JAVA_HOME by",
                  "ignoreCase": "all",
                  "enum": [
                    "JDKVersion",
                    "Path"
                  ],
                  "aliases": [
                    "javaHomeSelection"
                  ]
                },
                "jdkVersionOption": {
                  "description": "JDK Version",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "1.9",
                    "1.8",
                    "1.7",
                    "1.6"
                  ],
                  "aliases": [
                    "jdkVersion"
                  ]
                },
                "jdkDirectory": {
                  "type": "string",
                  "description": "JDK Path",
                  "ignoreCase": "key",
                  "aliases": [
                    "jdkUserInputPath"
                  ]
                },
                "jdkArchitectureOption": {
                  "description": "JDK Architecture",
                  "ignoreCase": "all",
                  "enum": [
                    "x86",
                    "x64"
                  ],
                  "aliases": [
                    "jdkArchitecture"
                  ]
                },
                "gradleOptions": {
                  "type": "string",
                  "description": "Set GRADLE_OPTS",
                  "ignoreCase": "key",
                  "aliases": [
                    "gradleOpts"
                  ]
                },
                "sonarQubeRunAnalysis": {
                  "type": "boolean",
                  "description": "Run SonarQube Analysis",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqAnalysisEnabled"
                  ]
                },
                "sonarQubeServiceEndpoint": {
                  "type": "string",
                  "description": "SonarQube Endpoint",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqConnectedServiceName"
                  ]
                },
                "sonarQubeProjectName": {
                  "type": "string",
                  "description": "SonarQube Project Name",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqProjectName"
                  ]
                },
                "sonarQubeProjectKey": {
                  "type": "string",
                  "description": "SonarQube Project Key",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqProjectKey"
                  ]
                },
                "sonarQubeProjectVersion": {
                  "type": "string",
                  "description": "SonarQube Project Version",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqProjectVersion"
                  ]
                },
                "sonarQubeGradlePluginVersion": {
                  "type": "string",
                  "description": "SonarQube Gradle Plugin Version",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqGradlePluginVersion"
                  ]
                },
                "sonarQubeSpecifyDB": {
                  "type": "boolean",
                  "description": "The SonarQube server version is lower than 5.2",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqDbDetailsRequired"
                  ]
                },
                "sonarQubeDBUrl": {
                  "type": "string",
                  "description": "Db Connection String",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqDbUrl"
                  ]
                },
                "sonarQubeDBUsername": {
                  "type": "string",
                  "description": "Db Username",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqDbUsername"
                  ]
                },
                "sonarQubeDBPassword": {
                  "type": "string",
                  "description": "Db User Password",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqDbPassword"
                  ]
                },
                "sonarQubeIncludeFullReport": {
                  "type": "boolean",
                  "description": "Include full analysis report in the build summary (SQ 5.3+)",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqAnalysisIncludeFullReport"
                  ]
                },
                "sonarQubeFailWhenQualityGateFails": {
                  "type": "boolean",
                  "description": "Fail the build on quality gate failure (SQ 5.3+)",
                  "ignoreCase": "key",
                  "aliases": [
                    "sqAnalysisBreakBuildIfQualityGateFailed"
                  ]
                },
                "checkStyleRunAnalysis": {
                  "type": "boolean",
                  "description": "Run Checkstyle",
                  "ignoreCase": "key",
                  "aliases": [
                    "checkstyleAnalysisEnabled"
                  ]
                },
                "findBugsRunAnalysis": {
                  "type": "boolean",
                  "description": "Run FindBugs",
                  "ignoreCase": "key",
                  "aliases": [
                    "findbugsAnalysisEnabled"
                  ]
                },
                "pmdRunAnalysis": {
                  "type": "boolean",
                  "description": "Run PMD",
                  "ignoreCase": "key",
                  "aliases": [
                    "pmdAnalysisEnabled"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "App Center distribute\n\nDistribute app builds to testers and users via Visual Studio App Center",
              "ignoreCase": "value",
              "pattern": "^AppCenterDistribute@2$"
            },
            "inputs": {
              "description": "App Center distribute inputs",
              "properties": {
                "serverEndpoint": {
                  "type": "string",
                  "description": "App Center service connection",
                  "ignoreCase": "key"
                },
                "appSlug": {
                  "type": "string",
                  "description": "App slug",
                  "ignoreCase": "key"
                },
                "appFile": {
                  "type": "string",
                  "description": "Binary file path",
                  "ignoreCase": "key",
                  "aliases": [
                    "app"
                  ]
                },
                "symbolsOption": {
                  "description": "Symbols type",
                  "ignoreCase": "all",
                  "enum": [
                    "Apple"
                  ],
                  "aliases": [
                    "symbolsType"
                  ]
                },
                "symbolsPath": {
                  "type": "string",
                  "description": "Symbols path",
                  "ignoreCase": "key"
                },
                "symbolsPdbFiles": {
                  "type": "string",
                  "description": "Symbols path (*.pdb)",
                  "ignoreCase": "key",
                  "aliases": [
                    "pdbPath"
                  ]
                },
                "symbolsDsymFiles": {
                  "type": "string",
                  "description": "dSYM path",
                  "ignoreCase": "key",
                  "aliases": [
                    "dsymPath"
                  ]
                },
                "symbolsMappingTxtFile": {
                  "type": "string",
                  "description": "Mapping file",
                  "ignoreCase": "key",
                  "aliases": [
                    "mappingTxtPath"
                  ]
                },
                "symbolsIncludeParentDirectory": {
                  "type": "boolean",
                  "description": "Include all items in parent folder",
                  "ignoreCase": "key",
                  "aliases": [
                    "packParentFolder"
                  ]
                },
                "releaseNotesOption": {
                  "description": "Create release notes",
                  "ignoreCase": "all",
                  "enum": [
                    "input",
                    "file"
                  ],
                  "aliases": [
                    "releaseNotesSelection"
                  ]
                },
                "releaseNotesInput": {
                  "type": "string",
                  "description": "Release notes",
                  "ignoreCase": "key"
                },
                "releaseNotesFile": {
                  "type": "string",
                  "description": "Release notes file",
                  "ignoreCase": "key"
                },
                "isMandatory": {
                  "type": "boolean",
                  "description": "Require users to update to this release",
                  "ignoreCase": "key"
                },
                "distributionGroupId": {
                  "type": "string",
                  "description": "Destination IDs",
                  "ignoreCase": "key",
                  "aliases": [
                    "destinationIds",
                    "destinationId"
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "serverEndpoint",
                "appSlug",
                "appFile"
              ]
            }
          },
          "deprecationMessage": "AppCenterDistribute is deprecated - Distribute app builds to testers and users via Visual Studio App Center",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "App Center distribute\n\nDistribute app builds to testers and users via Visual Studio App Center",
              "ignoreCase": "value",
              "pattern": "^AppCenterDistribute@1$"
            },
            "inputs": {
              "description": "App Center distribute inputs",
              "properties": {
                "serverEndpoint": {
                  "type": "string",
                  "description": "App Center service connection",
                  "ignoreCase": "key"
                },
                "appSlug": {
                  "type": "string",
                  "description": "App slug",
                  "ignoreCase": "key"
                },
                "appFile": {
                  "type": "string",
                  "description": "Binary file path",
                  "ignoreCase": "key",
                  "aliases": [
                    "app"
                  ]
                },
                "symbolsOption": {
                  "description": "Symbols type",
                  "ignoreCase": "all",
                  "enum": [
                    "Apple"
                  ],
                  "aliases": [
                    "symbolsType"
                  ]
                },
                "symbolsPath": {
                  "type": "string",
                  "description": "Symbols path",
                  "ignoreCase": "key"
                },
                "symbolsPdbFiles": {
                  "type": "string",
                  "description": "Symbols path (*.pdb)",
                  "ignoreCase": "key",
                  "aliases": [
                    "pdbPath"
                  ]
                },
                "symbolsDsymFiles": {
                  "type": "string",
                  "description": "dSYM path",
                  "ignoreCase": "key",
                  "aliases": [
                    "dsymPath"
                  ]
                },
                "symbolsMappingTxtFile": {
                  "type": "string",
                  "description": "Mapping file",
                  "ignoreCase": "key",
                  "aliases": [
                    "mappingTxtPath"
                  ]
                },
                "symbolsIncludeParentDirectory": {
                  "type": "boolean",
                  "description": "Include all items in parent folder",
                  "ignoreCase": "key",
                  "aliases": [
                    "packParentFolder"
                  ]
                },
                "releaseNotesOption": {
                  "description": "Create release notes",
                  "ignoreCase": "all",
                  "enum": [
                    "input",
                    "file"
                  ],
                  "aliases": [
                    "releaseNotesSelection"
                  ]
                },
                "releaseNotesInput": {
                  "type": "string",
                  "description": "Release notes",
                  "ignoreCase": "key"
                },
                "releaseNotesFile": {
                  "type": "string",
                  "description": "Release notes file",
                  "ignoreCase": "key"
                },
                "isMandatory": {
                  "type": "boolean",
                  "description": "Require users to update to this release",
                  "ignoreCase": "key"
                },
                "distributionGroupId": {
                  "type": "string",
                  "description": "Destination ID",
                  "ignoreCase": "key",
                  "aliases": [
                    "destinationId"
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "serverEndpoint",
                "appSlug",
                "appFile"
              ]
            }
          },
          "deprecationMessage": "AppCenterDistribute is deprecated - Distribute app builds to testers and users via Visual Studio App Center",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "App Center distribute\n\nDistribute app builds to testers and users via Visual Studio App Center",
              "ignoreCase": "value",
              "pattern": "^AppCenterDistribute@3$"
            },
            "inputs": {
              "description": "App Center distribute inputs",
              "properties": {
                "serverEndpoint": {
                  "type": "string",
                  "description": "App Center service connection",
                  "ignoreCase": "key"
                },
                "appSlug": {
                  "type": "string",
                  "description": "App slug",
                  "ignoreCase": "key"
                },
                "appFile": {
                  "type": "string",
                  "description": "Binary file path",
                  "ignoreCase": "key",
                  "aliases": [
                    "app"
                  ]
                },
                "buildVersion": {
                  "type": "string",
                  "description": "Build version",
                  "ignoreCase": "key"
                },
                "symbolsOption": {
                  "description": "Symbols type",
                  "ignoreCase": "all",
                  "enum": [
                    "Apple",
                    "Android",
                    "UWP"
                  ],
                  "aliases": [
                    "symbolsType"
                  ]
                },
                "symbolsPath": {
                  "type": "string",
                  "description": "Symbols path",
                  "ignoreCase": "key"
                },
                "appxsymPath": {
                  "type": "string",
                  "description": "Symbols path (*.appxsym)",
                  "ignoreCase": "key"
                },
                "symbolsDsymFiles": {
                  "type": "string",
                  "description": "dSYM path",
                  "ignoreCase": "key",
                  "aliases": [
                    "dsymPath"
                  ]
                },
                "symbolsMappingTxtFile": {
                  "type": "string",
                  "description": "Mapping file",
                  "ignoreCase": "key",
                  "aliases": [
                    "mappingTxtPath"
                  ]
                },
                "nativeLibrariesPath": {
                  "type": "string",
                  "description": "Native Library File Path",
                  "ignoreCase": "key"
                },
                "symbolsIncludeParentDirectory": {
                  "type": "boolean",
                  "description": "Include all items in parent folder",
                  "ignoreCase": "key",
                  "aliases": [
                    "packParentFolder"
                  ]
                },
                "releaseNotesOption": {
                  "description": "Create release notes",
                  "ignoreCase": "all",
                  "enum": [
                    "input",
                    "file"
                  ],
                  "aliases": [
                    "releaseNotesSelection"
                  ]
                },
                "releaseNotesInput": {
                  "type": "string",
                  "description": "Release notes",
                  "ignoreCase": "key"
                },
                "releaseNotesFile": {
                  "type": "string",
                  "description": "Release notes file",
                  "ignoreCase": "key"
                },
                "isMandatory": {
                  "type": "boolean",
                  "description": "Require users to update to this release",
                  "ignoreCase": "key"
                },
                "destinationType": {
                  "description": "Release destination",
                  "ignoreCase": "all",
                  "enum": [
                    "groups",
                    "store"
                  ]
                },
                "distributionGroupId": {
                  "type": "string",
                  "description": "Destination IDs",
                  "ignoreCase": "key",
                  "aliases": [
                    "destinationGroupIds"
                  ]
                },
                "destinationStoreId": {
                  "type": "string",
                  "description": "Destination ID",
                  "ignoreCase": "key"
                },
                "isSilent": {
                  "type": "boolean",
                  "description": "Do not notify testers. Release will still be available to install.",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "serverEndpoint",
                "appSlug",
                "appFile"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "App Center Distribute\n\nDistribute app builds to testers and users via App Center",
              "ignoreCase": "value",
              "pattern": "^AppCenterDistribute@0$"
            },
            "inputs": {
              "description": "App Center Distribute inputs",
              "properties": {
                "serverEndpoint": {
                  "type": "string",
                  "description": "App Center connection",
                  "ignoreCase": "key"
                },
                "appSlug": {
                  "type": "string",
                  "description": "App slug",
                  "ignoreCase": "key"
                },
                "appFile": {
                  "type": "string",
                  "description": "Binary file path",
                  "ignoreCase": "key",
                  "aliases": [
                    "app"
                  ]
                },
                "symbolsOption": {
                  "description": "Symbols type",
                  "ignoreCase": "all",
                  "enum": [
                    "Apple"
                  ],
                  "aliases": [
                    "symbolsType"
                  ]
                },
                "symbolsPath": {
                  "type": "string",
                  "description": "Symbols path",
                  "ignoreCase": "key"
                },
                "symbolsPdbFiles": {
                  "type": "string",
                  "description": "Symbols path (*.pdb)",
                  "ignoreCase": "key",
                  "aliases": [
                    "pdbPath"
                  ]
                },
                "symbolsDsymFiles": {
                  "type": "string",
                  "description": "dSYM path",
                  "ignoreCase": "key",
                  "aliases": [
                    "dsymPath"
                  ]
                },
                "symbolsMappingTxtFile": {
                  "type": "string",
                  "description": "Mapping file",
                  "ignoreCase": "key",
                  "aliases": [
                    "mappingTxtPath"
                  ]
                },
                "symbolsIncludeParentDirectory": {
                  "type": "boolean",
                  "description": "Include all items in parent folder",
                  "ignoreCase": "key",
                  "aliases": [
                    "packParentFolder"
                  ]
                },
                "releaseNotesOption": {
                  "description": "Create release notes",
                  "ignoreCase": "all",
                  "enum": [
                    "input",
                    "file"
                  ],
                  "aliases": [
                    "releaseNotesSelection"
                  ]
                },
                "releaseNotesInput": {
                  "type": "string",
                  "description": "Release notes",
                  "ignoreCase": "key"
                },
                "releaseNotesFile": {
                  "type": "string",
                  "description": "Release notes file",
                  "ignoreCase": "key"
                },
                "distributionGroupId": {
                  "type": "string",
                  "description": "Distribution group ID",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "serverEndpoint",
                "appSlug",
                "appFile"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "NuGet tool installer\n\nAcquires a specific version of NuGet from the internet or the tools cache and adds it to the PATH. Use this task to change the version of NuGet used in the NuGet tasks.",
              "ignoreCase": "value",
              "pattern": "^NuGetToolInstaller@0$"
            },
            "inputs": {
              "description": "NuGet tool installer inputs",
              "properties": {
                "versionSpec": {
                  "type": "string",
                  "description": "Version of NuGet.exe to install",
                  "ignoreCase": "key"
                },
                "checkLatest": {
                  "type": "boolean",
                  "description": "Always download the latest matching version",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "NuGet tool installer\n\nAcquires a specific version of NuGet from the internet or the tools cache and adds it to the PATH. Use this task to change the version of NuGet used in the NuGet tasks.",
              "ignoreCase": "value",
              "pattern": "^NuGetToolInstaller@1$"
            },
            "inputs": {
              "description": "NuGet tool installer inputs",
              "properties": {
                "versionSpec": {
                  "type": "string",
                  "description": "Version of NuGet.exe to install",
                  "ignoreCase": "key"
                },
                "checkLatest": {
                  "type": "boolean",
                  "description": "Always check for new versions",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Jenkins download artifacts\n\nDownload artifacts produced by a Jenkins job",
              "ignoreCase": "value",
              "pattern": "^JenkinsDownloadArtifacts@1$"
            },
            "inputs": {
              "description": "Jenkins download artifacts inputs",
              "properties": {
                "jenkinsServerConnection": {
                  "type": "string",
                  "description": "Jenkins service connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "serverEndpoint"
                  ]
                },
                "jobName": {
                  "type": "string",
                  "description": "Job name",
                  "ignoreCase": "key"
                },
                "jenkinsJobType": {
                  "type": "string",
                  "description": "Jenkins job type",
                  "ignoreCase": "key"
                },
                "saveTo": {
                  "type": "string",
                  "description": "Save to",
                  "ignoreCase": "key"
                },
                "jenkinsBuild": {
                  "description": "Download artifacts produced by",
                  "ignoreCase": "all",
                  "enum": [
                    "LastSuccessfulBuild",
                    "BuildNumber"
                  ]
                },
                "jenkinsBuildNumber": {
                  "type": "string",
                  "description": "Jenkins build number",
                  "ignoreCase": "key"
                },
                "itemPattern": {
                  "type": "string",
                  "description": "Item Pattern",
                  "ignoreCase": "key"
                },
                "downloadCommitsAndWorkItems": {
                  "type": "boolean",
                  "description": "Download Commits and WorkItems",
                  "ignoreCase": "key"
                },
                "startJenkinsBuildNumber": {
                  "type": "string",
                  "description": "Download commits and work items from",
                  "ignoreCase": "key"
                },
                "artifactDetailsFileNameSuffix": {
                  "type": "string",
                  "description": "Commit and WorkItem FileName",
                  "ignoreCase": "key"
                },
                "propagatedArtifacts": {
                  "type": "boolean",
                  "description": "Artifacts are propagated to Azure",
                  "ignoreCase": "key"
                },
                "artifactProvider": {
                  "description": "Artifact Provider",
                  "ignoreCase": "all",
                  "enum": [
                    "azureStorage"
                  ]
                },
                "ConnectedServiceNameARM": {
                  "type": "string",
                  "description": "Azure Subscription",
                  "ignoreCase": "key"
                },
                "storageAccountName": {
                  "type": "string",
                  "description": "Storage Account Name",
                  "ignoreCase": "key"
                },
                "containerName": {
                  "type": "string",
                  "description": "Container Name",
                  "ignoreCase": "key"
                },
                "commonVirtualPath": {
                  "type": "string",
                  "description": "Common Virtual Path",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "jenkinsServerConnection",
                "jobName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure Functions for container\n\nUpdate a function app with a Docker container",
              "ignoreCase": "value",
              "pattern": "^AzureFunctionAppContainer@1$"
            },
            "inputs": {
              "description": "Azure Functions for container inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key"
                },
                "appName": {
                  "type": "string",
                  "description": "App name",
                  "ignoreCase": "key"
                },
                "deployToSlotOrASE": {
                  "type": "boolean",
                  "description": "Deploy to Slot or App Service Environment",
                  "ignoreCase": "key"
                },
                "resourceGroupName": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "slotName": {
                  "type": "string",
                  "description": "Slot",
                  "ignoreCase": "key"
                },
                "imageName": {
                  "type": "string",
                  "description": "Image name",
                  "ignoreCase": "key"
                },
                "containerCommand": {
                  "type": "string",
                  "description": "Startup command ",
                  "ignoreCase": "key"
                },
                "appSettings": {
                  "type": "string",
                  "description": "App settings",
                  "ignoreCase": "key"
                },
                "configurationStrings": {
                  "type": "string",
                  "description": "Configuration settings",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription",
                "appName",
                "imageName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Java tool installer test vuln 2\n\nAcquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME",
              "ignoreCase": "value",
              "pattern": "^JavaToolInstallerTestVuln2@0$"
            },
            "inputs": {
              "description": "Java tool installer test vuln 2 inputs",
              "properties": {
                "versionSpec": {
                  "type": "string",
                  "description": "JDK version",
                  "ignoreCase": "key"
                },
                "jdkArchitectureOption": {
                  "description": "JDK architecture",
                  "ignoreCase": "all",
                  "enum": [
                    "x64",
                    "x86"
                  ]
                },
                "jdkSourceOption": {
                  "description": "JDK source",
                  "ignoreCase": "all",
                  "enum": [
                    "AzureStorage",
                    "LocalDirectory",
                    "PreInstalled"
                  ]
                },
                "jdkFile": {
                  "type": "string",
                  "description": "JDK file",
                  "ignoreCase": "key"
                },
                "azureResourceManagerEndpoint": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key"
                },
                "azureStorageAccountName": {
                  "type": "string",
                  "description": "Storage account name",
                  "ignoreCase": "key"
                },
                "azureContainerName": {
                  "type": "string",
                  "description": "Container name",
                  "ignoreCase": "key"
                },
                "azureCommonVirtualFile": {
                  "type": "string",
                  "description": "Common virtual path",
                  "ignoreCase": "key"
                },
                "jdkDestinationDirectory": {
                  "type": "string",
                  "description": "Destination directory",
                  "ignoreCase": "key"
                },
                "cleanDestinationDirectory": {
                  "type": "boolean",
                  "description": "Clean destination directory",
                  "ignoreCase": "key"
                },
                "createExtractDirectory": {
                  "type": "boolean",
                  "description": "Create directory for extracting",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "jdkArchitectureOption",
                "jdkSourceOption"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Decrypt file (OpenSSL)\n\nDecrypt a file using OpenSSL",
              "ignoreCase": "value",
              "pattern": "^DecryptFile@1$"
            },
            "inputs": {
              "description": "Decrypt file (OpenSSL) inputs",
              "properties": {
                "cipher": {
                  "type": "string",
                  "description": "Cypher",
                  "ignoreCase": "key"
                },
                "inFile": {
                  "type": "string",
                  "description": "Encrypted file",
                  "ignoreCase": "key"
                },
                "passphrase": {
                  "type": "string",
                  "description": "Passphrase",
                  "ignoreCase": "key"
                },
                "outFile": {
                  "type": "string",
                  "description": "Decrypted file path",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "inFile",
                "passphrase"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Package and deploy Helm charts\n\nDeploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands",
              "ignoreCase": "value",
              "pattern": "^HelmDeploy@0$"
            },
            "inputs": {
              "description": "Package and deploy Helm charts inputs",
              "properties": {
                "connectionType": {
                  "description": "Connection Type",
                  "ignoreCase": "all",
                  "enum": [
                    "Azure Resource Manager",
                    "Kubernetes Service Connection",
                    "None"
                  ]
                },
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "azureSubscriptionEndpoint"
                  ]
                },
                "azureResourceGroup": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "kubernetesCluster": {
                  "type": "string",
                  "description": "Kubernetes cluster",
                  "ignoreCase": "key"
                },
                "useClusterAdmin": {
                  "type": "boolean",
                  "description": "Use cluster admin credentials",
                  "ignoreCase": "key"
                },
                "kubernetesServiceConnection": {
                  "type": "string",
                  "description": "Kubernetes Service Connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "kubernetesServiceEndpoint"
                  ]
                },
                "namespace": {
                  "type": "string",
                  "description": "Namespace",
                  "ignoreCase": "key"
                },
                "azureSubscriptionForACR": {
                  "type": "string",
                  "description": "Azure subscription for Container Registry",
                  "ignoreCase": "key",
                  "aliases": [
                    "azureSubscriptionEndpointForACR"
                  ]
                },
                "azureResourceGroupForACR": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "azureContainerRegistry": {
                  "type": "string",
                  "description": "Azure Container Registry",
                  "ignoreCase": "key"
                },
                "command": {
                  "description": "Command",
                  "ignoreCase": "all",
                  "enum": [
                    "create",
                    "delete",
                    "expose",
                    "get",
                    "init",
                    "install",
                    "login",
                    "logout",
                    "ls",
                    "package",
                    "rollback",
                    "save",
                    "upgrade",
                    "uninstall"
                  ]
                },
                "chartType": {
                  "description": "Chart Type",
                  "ignoreCase": "all",
                  "enum": [
                    "Name",
                    "FilePath"
                  ]
                },
                "chartName": {
                  "type": "string",
                  "description": "Chart Name",
                  "ignoreCase": "key"
                },
                "chartPath": {
                  "type": "string",
                  "description": "Chart Path",
                  "ignoreCase": "key"
                },
                "chartVersion": {
                  "type": "string",
                  "description": "Version",
                  "ignoreCase": "key",
                  "aliases": [
                    "version"
                  ]
                },
                "releaseName": {
                  "type": "string",
                  "description": "Release Name",
                  "ignoreCase": "key"
                },
                "overrideValues": {
                  "type": "string",
                  "description": "Set Values",
                  "ignoreCase": "key"
                },
                "valueFile": {
                  "type": "string",
                  "description": "Value File",
                  "ignoreCase": "key"
                },
                "destination": {
                  "type": "string",
                  "description": "Destination",
                  "ignoreCase": "key"
                },
                "canaryImage": {
                  "type": "boolean",
                  "description": "Use canary image version.",
                  "ignoreCase": "key",
                  "aliases": [
                    "canaryimage"
                  ]
                },
                "upgradeTiller": {
                  "type": "boolean",
                  "description": "Upgrade Tiller",
                  "ignoreCase": "key",
                  "aliases": [
                    "upgradetiller"
                  ]
                },
                "updateDependency": {
                  "type": "boolean",
                  "description": "Update Dependency",
                  "ignoreCase": "key",
                  "aliases": [
                    "updatedependency"
                  ]
                },
                "save": {
                  "type": "boolean",
                  "description": "Save",
                  "ignoreCase": "key"
                },
                "install": {
                  "type": "boolean",
                  "description": "Install if release not present.",
                  "ignoreCase": "key"
                },
                "recreate": {
                  "type": "boolean",
                  "description": "Recreate Pods.",
                  "ignoreCase": "key"
                },
                "resetValues": {
                  "type": "boolean",
                  "description": "Reset Values.",
                  "ignoreCase": "key"
                },
                "force": {
                  "type": "boolean",
                  "description": "Force",
                  "ignoreCase": "key"
                },
                "waitForExecution": {
                  "type": "boolean",
                  "description": "Wait",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "enableTls": {
                  "type": "boolean",
                  "description": "Enable TLS",
                  "ignoreCase": "key"
                },
                "caCert": {
                  "type": "string",
                  "description": "CA certificate",
                  "ignoreCase": "key"
                },
                "certificate": {
                  "type": "string",
                  "description": "Certificate",
                  "ignoreCase": "key"
                },
                "privatekey": {
                  "type": "string",
                  "description": "Key",
                  "ignoreCase": "key"
                },
                "tillerNamespace": {
                  "type": "string",
                  "description": "Tiller namespace",
                  "ignoreCase": "key",
                  "aliases": [
                    "tillernamespace"
                  ]
                },
                "failOnStderr": {
                  "type": "boolean",
                  "description": "Fail on Standard Error",
                  "ignoreCase": "key"
                },
                "publishPipelineMetadata": {
                  "type": "boolean",
                  "description": "Publish pipeline metadata",
                  "ignoreCase": "key"
                },
                "chartNameForACR": {
                  "type": "string",
                  "description": "Chart Name For Azure Container Registry",
                  "ignoreCase": "key"
                },
                "chartPathForACR": {
                  "type": "string",
                  "description": "Chart Path for Azure Container Registry",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscriptionForACR",
                "azureResourceGroupForACR",
                "azureContainerRegistry"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Install Apple certificate\n\nInstall an Apple certificate required to build on a macOS agent machine",
              "ignoreCase": "value",
              "pattern": "^InstallAppleCertificate@2$"
            },
            "inputs": {
              "description": "Install Apple certificate inputs",
              "properties": {
                "certSecureFile": {
                  "type": "string",
                  "description": "Certificate (P12)",
                  "ignoreCase": "key"
                },
                "certPwd": {
                  "type": "string",
                  "description": "Certificate (P12) password",
                  "ignoreCase": "key"
                },
                "keychain": {
                  "description": "Keychain",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "temp",
                    "custom"
                  ]
                },
                "keychainPassword": {
                  "type": "string",
                  "description": "Keychain password",
                  "ignoreCase": "key"
                },
                "customKeychainPath": {
                  "type": "string",
                  "description": "Custom keychain path",
                  "ignoreCase": "key"
                },
                "deleteCert": {
                  "type": "boolean",
                  "description": "Delete certificate from keychain",
                  "ignoreCase": "key"
                },
                "deleteCustomKeychain": {
                  "type": "boolean",
                  "description": "Delete custom keychain",
                  "ignoreCase": "key"
                },
                "signingIdentity": {
                  "type": "string",
                  "description": "Certificate signing identity",
                  "ignoreCase": "key"
                },
                "setUpPartitionIdACLForPrivateKey": {
                  "type": "boolean",
                  "description": "Set up partition_id ACL for the imported private key",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "certSecureFile"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Install Apple Certificate\n\nInstall an Apple certificate required to build on a macOS agent",
              "ignoreCase": "value",
              "pattern": "^InstallAppleCertificate@1$"
            },
            "inputs": {
              "description": "Install Apple Certificate inputs",
              "properties": {
                "certSecureFile": {
                  "type": "string",
                  "description": "Certificate (P12)",
                  "ignoreCase": "key"
                },
                "certPwd": {
                  "type": "string",
                  "description": "Certificate (P12) password",
                  "ignoreCase": "key"
                },
                "keychain": {
                  "description": "Keychain",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "temp",
                    "custom"
                  ]
                },
                "keychainPassword": {
                  "type": "string",
                  "description": "Keychain password",
                  "ignoreCase": "key"
                },
                "customKeychainPath": {
                  "type": "string",
                  "description": "Custom keychain path",
                  "ignoreCase": "key"
                },
                "deleteCert": {
                  "type": "boolean",
                  "description": "Delete certificate from keychain",
                  "ignoreCase": "key"
                },
                "deleteCustomKeychain": {
                  "type": "boolean",
                  "description": "Delete custom keychain",
                  "ignoreCase": "key"
                },
                "signingIdentity": {
                  "type": "string",
                  "description": "Certificate signing identity",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "certSecureFile"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Install Apple Certificate\n\nInstall an Apple certificate required to build on a macOS agent",
              "ignoreCase": "value",
              "pattern": "^InstallAppleCertificate@0$"
            },
            "inputs": {
              "description": "Install Apple Certificate inputs",
              "properties": {
                "certSecureFile": {
                  "type": "string",
                  "description": "Certificate (P12)",
                  "ignoreCase": "key"
                },
                "certPwd": {
                  "type": "string",
                  "description": "Certificate (P12) Password",
                  "ignoreCase": "key"
                },
                "keychain": {
                  "description": "Keychain",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "temp",
                    "custom"
                  ]
                },
                "keychainPassword": {
                  "type": "string",
                  "description": "Keychain Password",
                  "ignoreCase": "key"
                },
                "customKeychainPath": {
                  "type": "string",
                  "description": "Custom Keychain Path",
                  "ignoreCase": "key"
                },
                "deleteCert": {
                  "type": "boolean",
                  "description": "Delete Certificate from Keychain",
                  "ignoreCase": "key"
                },
                "deleteCustomKeychain": {
                  "type": "boolean",
                  "description": "Delete Custom Keychain",
                  "ignoreCase": "key"
                },
                "signingIdentity": {
                  "type": "string",
                  "description": "Certificate Signing Identity",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "certSecureFile"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Invoke Azure Function\n\nInvoke an Azure Function",
              "ignoreCase": "value",
              "pattern": "^AzureFunction@1$"
            },
            "inputs": {
              "description": "Invoke Azure Function inputs",
              "properties": {
                "function": {
                  "type": "string",
                  "description": "Azure function URL",
                  "ignoreCase": "key"
                },
                "key": {
                  "type": "string",
                  "description": "Function key",
                  "ignoreCase": "key"
                },
                "method": {
                  "description": "Method",
                  "ignoreCase": "all",
                  "enum": [
                    "OPTIONS",
                    "GET",
                    "HEAD",
                    "POST",
                    "PUT",
                    "DELETE",
                    "TRACE",
                    "PATCH"
                  ]
                },
                "headers": {
                  "type": "string",
                  "description": "Headers",
                  "ignoreCase": "key"
                },
                "queryParameters": {
                  "type": "string",
                  "description": "Query parameters",
                  "ignoreCase": "key"
                },
                "body": {
                  "type": "string",
                  "description": "Body",
                  "ignoreCase": "key"
                },
                "waitForCompletion": {
                  "description": "Completion event",
                  "ignoreCase": "all",
                  "enum": [
                    "true",
                    "false"
                  ]
                },
                "successCriteria": {
                  "type": "string",
                  "description": "Success criteria",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "function",
                "key"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Invoke Azure Function\n\nInvoke Azure function as a part of your process.",
              "ignoreCase": "value",
              "pattern": "^AzureFunction@0$"
            },
            "inputs": {
              "description": "Invoke Azure Function inputs",
              "properties": {
                "function": {
                  "type": "string",
                  "description": "Azure function url",
                  "ignoreCase": "key"
                },
                "key": {
                  "type": "string",
                  "description": "Function key",
                  "ignoreCase": "key"
                },
                "method": {
                  "description": "Method",
                  "ignoreCase": "all",
                  "enum": [
                    "OPTIONS",
                    "GET",
                    "HEAD",
                    "POST",
                    "PUT",
                    "DELETE",
                    "TRACE",
                    "PATCH"
                  ]
                },
                "headers": {
                  "type": "string",
                  "description": "Headers",
                  "ignoreCase": "key"
                },
                "queryParameters": {
                  "type": "string",
                  "description": "Query parameters",
                  "ignoreCase": "key"
                },
                "body": {
                  "type": "string",
                  "description": "Body",
                  "ignoreCase": "key"
                },
                "waitForCompletion": {
                  "description": "Complete based on",
                  "ignoreCase": "all",
                  "enum": [
                    "true",
                    "false"
                  ]
                },
                "successCriteria": {
                  "type": "string",
                  "description": "Success criteria",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "function",
                "key"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Download GitHub Release\n\nDownloads a GitHub Release from a repository",
              "ignoreCase": "value",
              "pattern": "^DownloadGitHubRelease@0$"
            },
            "inputs": {
              "description": "Download GitHub Release inputs",
              "properties": {
                "connection": {
                  "type": "string",
                  "description": "GitHub Connection",
                  "ignoreCase": "key"
                },
                "userRepository": {
                  "type": "string",
                  "description": "Repository",
                  "ignoreCase": "key"
                },
                "defaultVersionType": {
                  "description": "Default version",
                  "ignoreCase": "all",
                  "enum": [
                    "latest",
                    "specificVersion",
                    "specificTag"
                  ]
                },
                "version": {
                  "type": "string",
                  "description": "Release",
                  "ignoreCase": "key"
                },
                "itemPattern": {
                  "type": "string",
                  "description": "Item Pattern",
                  "ignoreCase": "key"
                },
                "downloadPath": {
                  "type": "string",
                  "description": "Destination directory",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "connection",
                "userRepository"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "SSH\n\nRun shell commands or a script on a remote machine using SSH",
              "ignoreCase": "value",
              "pattern": "^SSH@0$"
            },
            "inputs": {
              "description": "SSH inputs",
              "properties": {
                "sshEndpoint": {
                  "type": "string",
                  "description": "SSH service connection",
                  "ignoreCase": "key"
                },
                "runOptions": {
                  "description": "Run",
                  "ignoreCase": "all",
                  "enum": [
                    "commands",
                    "script",
                    "inline"
                  ]
                },
                "commands": {
                  "type": "string",
                  "description": "Commands",
                  "ignoreCase": "key"
                },
                "scriptPath": {
                  "type": "string",
                  "description": "Shell script path",
                  "ignoreCase": "key"
                },
                "inline": {
                  "type": "string",
                  "description": "Inline Script",
                  "ignoreCase": "key"
                },
                "interpreterCommand": {
                  "type": "string",
                  "description": "Interpreter command",
                  "ignoreCase": "key"
                },
                "args": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "failOnStdErr": {
                  "type": "boolean",
                  "description": "Fail on STDERR",
                  "ignoreCase": "key"
                },
                "interactiveSession": {
                  "type": "boolean",
                  "description": "Enable interactive session",
                  "ignoreCase": "key"
                },
                "readyTimeout": {
                  "type": "string",
                  "description": "SSH handshake timeout",
                  "ignoreCase": "key"
                },
                "interactiveKeyboardAuthentication": {
                  "type": "boolean",
                  "description": "Use interactive-keyboard authentication",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "sshEndpoint"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Publish pipeline artifact\n\nPublish a local directory or file as a named artifact for the current pipeline",
              "ignoreCase": "value",
              "pattern": "^PublishPipelineArtifact@0$"
            },
            "inputs": {
              "description": "Publish pipeline artifact inputs",
              "properties": {
                "artifactName": {
                  "type": "string",
                  "description": "The name of this artifact",
                  "ignoreCase": "key"
                },
                "targetPath": {
                  "type": "string",
                  "description": "Path to publish",
                  "ignoreCase": "key"
                },
                "properties": {
                  "type": "string",
                  "description": "Custom properties",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "targetPath"
              ]
            }
          },
          "deprecationMessage": "PublishPipelineArtifact is deprecated - Publish a local directory or file as a named artifact for the current pipeline",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Publish Pipeline Artifacts\n\nPublish (upload) a file or directory as a named artifact for the current run",
              "ignoreCase": "value",
              "pattern": "^PublishPipelineArtifact@1$"
            },
            "inputs": {
              "description": "Publish Pipeline Artifacts inputs",
              "properties": {
                "targetPath": {
                  "type": "string",
                  "description": "File or directory path",
                  "ignoreCase": "key",
                  "aliases": [
                    "path"
                  ]
                },
                "artifact": {
                  "type": "string",
                  "description": "Artifact name",
                  "ignoreCase": "key",
                  "aliases": [
                    "artifactName"
                  ]
                },
                "publishLocation": {
                  "description": "Artifact publish location",
                  "ignoreCase": "all",
                  "enum": [
                    "pipeline",
                    "filepath"
                  ],
                  "aliases": [
                    "artifactType"
                  ]
                },
                "fileSharePath": {
                  "type": "string",
                  "description": "File share path",
                  "ignoreCase": "key"
                },
                "parallel": {
                  "type": "boolean",
                  "description": "Parallel copy",
                  "ignoreCase": "key"
                },
                "parallelCount": {
                  "type": "integer",
                  "description": "Parallel count",
                  "ignoreCase": "key"
                },
                "properties": {
                  "type": "string",
                  "description": "Custom properties",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "SonarQube for MSBuild - Begin Analysis\n\n[DEPRECATED] Fetch the Quality Profile from SonarQube to configure the analysis",
              "ignoreCase": "value",
              "pattern": "^SonarQubePreBuild@1$"
            },
            "inputs": {
              "description": "SonarQube for MSBuild - Begin Analysis inputs",
              "properties": {
                "projectKey": {
                  "type": "string",
                  "description": "Project Key",
                  "ignoreCase": "key"
                },
                "projectName": {
                  "type": "string",
                  "description": "Project Name",
                  "ignoreCase": "key"
                },
                "projectVersion": {
                  "type": "string",
                  "description": "Project Version",
                  "ignoreCase": "key"
                },
                "connectedServiceName": {
                  "type": "string",
                  "description": "SonarQube Endpoint",
                  "ignoreCase": "key"
                },
                "dbUrl": {
                  "type": "string",
                  "description": "Db Connection String",
                  "ignoreCase": "key"
                },
                "dbUsername": {
                  "type": "string",
                  "description": "Db UserName",
                  "ignoreCase": "key"
                },
                "dbPassword": {
                  "type": "string",
                  "description": "Db User Password",
                  "ignoreCase": "key"
                },
                "cmdLineArgs": {
                  "type": "string",
                  "description": "Additional Settings",
                  "ignoreCase": "key"
                },
                "configFile": {
                  "type": "string",
                  "description": "Settings File",
                  "ignoreCase": "key"
                },
                "includeFullReport": {
                  "type": "boolean",
                  "description": "Include full analysis report in the build summary (SQ 5.3+)",
                  "ignoreCase": "key"
                },
                "breakBuild": {
                  "type": "boolean",
                  "description": "Fail the build on quality gate failure (SQ 5.3+)",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "projectKey",
                "projectName",
                "connectedServiceName"
              ]
            }
          },
          "deprecationMessage": "SonarQubePreBuild is deprecated - [DEPRECATED] Fetch the Quality Profile from SonarQube to configure the analysis",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Download artifacts from file share\n\nDownload artifacts from a file share, like \\\\share\\drop",
              "ignoreCase": "value",
              "pattern": "^DownloadFileshareArtifacts@1$"
            },
            "inputs": {
              "description": "Download artifacts from file share inputs",
              "properties": {
                "filesharePath": {
                  "type": "string",
                  "description": "File share path",
                  "ignoreCase": "key"
                },
                "artifactName": {
                  "type": "string",
                  "description": "Artifact name",
                  "ignoreCase": "key"
                },
                "itemPattern": {
                  "type": "string",
                  "description": "Matching pattern",
                  "ignoreCase": "key"
                },
                "downloadPath": {
                  "type": "string",
                  "description": "Download path",
                  "ignoreCase": "key"
                },
                "parallelizationLimit": {
                  "type": "string",
                  "description": "Parallelization limit",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "filesharePath",
                "artifactName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Kubectl\n\nDeploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands",
              "ignoreCase": "value",
              "pattern": "^Kubernetes@0$"
            },
            "inputs": {
              "description": "Kubectl inputs",
              "properties": {
                "kubernetesServiceConnection": {
                  "type": "string",
                  "description": "Kubernetes service connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "kubernetesServiceEndpoint"
                  ]
                },
                "namespace": {
                  "type": "string",
                  "description": "Namespace",
                  "ignoreCase": "key"
                },
                "command": {
                  "description": "Command",
                  "ignoreCase": "all",
                  "enum": [
                    "apply",
                    "create",
                    "delete",
                    "exec",
                    "expose",
                    "get",
                    "logs",
                    "run",
                    "set",
                    "top"
                  ]
                },
                "useConfigurationFile": {
                  "type": "boolean",
                  "description": "Use Configuration files",
                  "ignoreCase": "key"
                },
                "configuration": {
                  "type": "string",
                  "description": "Configuration file",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "secretType": {
                  "description": "Type of secret",
                  "ignoreCase": "all",
                  "enum": [
                    "dockerRegistry",
                    "generic"
                  ]
                },
                "secretArguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "containerRegistryType": {
                  "description": "Container Registry type",
                  "ignoreCase": "all",
                  "enum": [
                    "Azure Container Registry",
                    "Container Registry"
                  ]
                },
                "dockerRegistryConnection": {
                  "type": "string",
                  "description": "Docker Registry service connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "dockerRegistryEndpoint"
                  ]
                },
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "azureSubscriptionEndpoint"
                  ]
                },
                "azureContainerRegistry": {
                  "type": "string",
                  "description": "Azure Container Registry",
                  "ignoreCase": "key"
                },
                "secretName": {
                  "type": "string",
                  "description": "Secret name",
                  "ignoreCase": "key"
                },
                "forceUpdate": {
                  "type": "boolean",
                  "description": "Force update secret",
                  "ignoreCase": "key"
                },
                "configMapName": {
                  "type": "string",
                  "description": "ConfigMap name",
                  "ignoreCase": "key"
                },
                "forceUpdateConfigMap": {
                  "type": "boolean",
                  "description": "Force update configmap",
                  "ignoreCase": "key"
                },
                "useConfigMapFile": {
                  "type": "boolean",
                  "description": "Use file",
                  "ignoreCase": "key"
                },
                "configMapFile": {
                  "type": "string",
                  "description": "ConfigMap file",
                  "ignoreCase": "key"
                },
                "configMapArguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "versionOrLocation": {
                  "description": "Kubectl",
                  "ignoreCase": "all",
                  "enum": [
                    "version",
                    "location"
                  ]
                },
                "versionSpec": {
                  "type": "string",
                  "description": "Version spec",
                  "ignoreCase": "key"
                },
                "checkLatest": {
                  "type": "boolean",
                  "description": "Check for latest version",
                  "ignoreCase": "key"
                },
                "specifyLocation": {
                  "type": "string",
                  "description": "Path to Kubectl",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "outputFormat": {
                  "description": "Output format",
                  "ignoreCase": "all",
                  "enum": [
                    "json",
                    "yaml"
                  ]
                },
                "kubectlOutput": {
                  "type": "string",
                  "description": "Output variable name",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Kubectl\n\nDeploy, configure, update a Kubernetes cluster in Azure Container Service by running kubectl commands",
              "ignoreCase": "value",
              "pattern": "^Kubernetes@1$"
            },
            "inputs": {
              "description": "Kubectl inputs",
              "properties": {
                "connectionType": {
                  "description": "Service connection type",
                  "ignoreCase": "all",
                  "enum": [
                    "Azure Resource Manager",
                    "Kubernetes Service Connection",
                    "None"
                  ]
                },
                "kubernetesServiceEndpoint": {
                  "type": "string",
                  "description": "Kubernetes service connection",
                  "ignoreCase": "key"
                },
                "azureSubscriptionEndpoint": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key"
                },
                "azureResourceGroup": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "kubernetesCluster": {
                  "type": "string",
                  "description": "Kubernetes cluster",
                  "ignoreCase": "key"
                },
                "useClusterAdmin": {
                  "type": "boolean",
                  "description": "Use cluster admin credentials",
                  "ignoreCase": "key"
                },
                "namespace": {
                  "type": "string",
                  "description": "Namespace",
                  "ignoreCase": "key"
                },
                "command": {
                  "description": "Command",
                  "ignoreCase": "all",
                  "enum": [
                    "apply",
                    "create",
                    "delete",
                    "exec",
                    "expose",
                    "get",
                    "login",
                    "logout",
                    "logs",
                    "run",
                    "set",
                    "top"
                  ]
                },
                "useConfigurationFile": {
                  "type": "boolean",
                  "description": "Use configuration",
                  "ignoreCase": "key"
                },
                "configurationType": {
                  "description": "Configuration type",
                  "ignoreCase": "all",
                  "enum": [
                    "configuration",
                    "inline"
                  ]
                },
                "configuration": {
                  "type": "string",
                  "description": "File path",
                  "ignoreCase": "key"
                },
                "inline": {
                  "type": "string",
                  "description": "Inline configuration",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "secretType": {
                  "description": "Type of secret",
                  "ignoreCase": "all",
                  "enum": [
                    "dockerRegistry",
                    "generic"
                  ]
                },
                "secretArguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "containerRegistryType": {
                  "description": "Container registry type",
                  "ignoreCase": "all",
                  "enum": [
                    "Azure Container Registry",
                    "Container Registry"
                  ]
                },
                "dockerRegistryEndpoint": {
                  "type": "string",
                  "description": "Docker registry service connection",
                  "ignoreCase": "key"
                },
                "azureSubscriptionEndpointForSecrets": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key"
                },
                "azureContainerRegistry": {
                  "type": "string",
                  "description": "Azure container registry",
                  "ignoreCase": "key"
                },
                "secretName": {
                  "type": "string",
                  "description": "Secret name",
                  "ignoreCase": "key"
                },
                "forceUpdate": {
                  "type": "boolean",
                  "description": "Force update secret",
                  "ignoreCase": "key"
                },
                "configMapName": {
                  "type": "string",
                  "description": "ConfigMap name",
                  "ignoreCase": "key"
                },
                "forceUpdateConfigMap": {
                  "type": "boolean",
                  "description": "Force update configmap",
                  "ignoreCase": "key"
                },
                "useConfigMapFile": {
                  "type": "boolean",
                  "description": "Use file",
                  "ignoreCase": "key"
                },
                "configMapFile": {
                  "type": "string",
                  "description": "ConfigMap file",
                  "ignoreCase": "key"
                },
                "configMapArguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "versionOrLocation": {
                  "description": "Kubectl",
                  "ignoreCase": "all",
                  "enum": [
                    "version",
                    "location"
                  ]
                },
                "versionSpec": {
                  "type": "string",
                  "description": "Version spec",
                  "ignoreCase": "key"
                },
                "checkLatest": {
                  "type": "boolean",
                  "description": "Check for latest version",
                  "ignoreCase": "key"
                },
                "specifyLocation": {
                  "type": "string",
                  "description": "Path to kubectl",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "outputFormat": {
                  "description": "Output format",
                  "ignoreCase": "all",
                  "enum": [
                    "json",
                    "yaml",
                    "none"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure IoT Edge\n\nBuild and deploy an Azure IoT Edge image",
              "ignoreCase": "value",
              "pattern": "^AzureIoTEdge@2$"
            },
            "inputs": {
              "description": "Azure IoT Edge inputs",
              "properties": {
                "action": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "Build module images",
                    "Push module images",
                    "Generate deployment manifest",
                    "Deploy to IoT Edge devices"
                  ]
                },
                "deploymentFilePath": {
                  "type": "string",
                  "description": "Deployment file",
                  "ignoreCase": "key"
                },
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription contains IoT Hub",
                  "ignoreCase": "key",
                  "aliases": [
                    "connectedServiceNameARM"
                  ]
                },
                "iothubname": {
                  "type": "string",
                  "description": "IoT Hub name",
                  "ignoreCase": "key"
                },
                "deploymentid": {
                  "type": "string",
                  "description": "IoT Edge deployment ID",
                  "ignoreCase": "key"
                },
                "priority": {
                  "type": "string",
                  "description": "IoT Edge deployment priority",
                  "ignoreCase": "key"
                },
                "deviceOption": {
                  "description": "Choose single/multiple device",
                  "ignoreCase": "all",
                  "enum": [
                    "Single Device",
                    "Multiple Devices"
                  ]
                },
                "deviceId": {
                  "type": "string",
                  "description": "IoT Edge device ID",
                  "ignoreCase": "key"
                },
                "targetcondition": {
                  "type": "string",
                  "description": "IoT Edge device target condition",
                  "ignoreCase": "key"
                },
                "containerregistrytype": {
                  "description": "Container registry type",
                  "ignoreCase": "all",
                  "enum": [
                    "Azure Container Registry",
                    "Generic Container Registry"
                  ]
                },
                "dockerRegistryConnection": {
                  "type": "string",
                  "description": "Docker Registry Connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "dockerRegistryEndpoint"
                  ]
                },
                "azureSubscriptionEndpoint": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key"
                },
                "azureContainerRegistry": {
                  "type": "string",
                  "description": "Azure Container Registry",
                  "ignoreCase": "key"
                },
                "templateFilePath": {
                  "type": "string",
                  "description": ".template.json file",
                  "ignoreCase": "key"
                },
                "defaultPlatform": {
                  "description": "Default platform",
                  "ignoreCase": "all",
                  "enum": [
                    "amd64",
                    "windows-amd64",
                    "arm32v7",
                    "arm64v8"
                  ]
                },
                "fillRegistryCredential": {
                  "description": "Add registry credential to deployment manifest",
                  "ignoreCase": "all",
                  "enum": [
                    "true",
                    "false"
                  ]
                },
                "deploymentManifestOutputPath": {
                  "type": "string",
                  "description": "Output path",
                  "ignoreCase": "key"
                },
                "validateGeneratedDeploymentManifest": {
                  "description": "Validate the schema of generated deployment manifest",
                  "ignoreCase": "all",
                  "enum": [
                    "true",
                    "false"
                  ]
                },
                "bypassModules": {
                  "type": "string",
                  "description": "Bypass module(s)",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Service Fabric Compose deploy\n\nDeploy a Docker Compose application to an Azure Service Fabric cluster",
              "ignoreCase": "value",
              "pattern": "^ServiceFabricComposeDeploy@0$"
            },
            "inputs": {
              "description": "Service Fabric Compose deploy inputs",
              "properties": {
                "clusterConnection": {
                  "type": "string",
                  "description": "Cluster Service Connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "serviceConnectionName"
                  ]
                },
                "composeFilePath": {
                  "type": "string",
                  "description": "Compose File Path",
                  "ignoreCase": "key"
                },
                "applicationName": {
                  "type": "string",
                  "description": "Application Name",
                  "ignoreCase": "key"
                },
                "registryCredentials": {
                  "description": "Registry Credentials Source",
                  "ignoreCase": "all",
                  "enum": [
                    "AzureResourceManagerEndpoint",
                    "ContainerRegistryEndpoint",
                    "UsernamePassword",
                    "None"
                  ]
                },
                "dockerRegistryConnection": {
                  "type": "string",
                  "description": "Docker Registry Service Connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "dockerRegistryEndpointName"
                  ]
                },
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "azureSubscriptionEndpoint"
                  ]
                },
                "registryUserName": {
                  "type": "string",
                  "description": "Registry User Name",
                  "ignoreCase": "key"
                },
                "registryPassword": {
                  "type": "string",
                  "description": "Registry Password",
                  "ignoreCase": "key"
                },
                "passwordEncrypted": {
                  "type": "boolean",
                  "description": "Password Encrypted",
                  "ignoreCase": "key"
                },
                "upgrade": {
                  "type": "boolean",
                  "description": "Upgrade",
                  "ignoreCase": "key"
                },
                "deployTimeoutSec": {
                  "type": "string",
                  "description": "Deploy Timeout (s)",
                  "ignoreCase": "key"
                },
                "removeTimeoutSec": {
                  "type": "string",
                  "description": "Remove Timeout (s)",
                  "ignoreCase": "key"
                },
                "getStatusTimeoutSec": {
                  "type": "string",
                  "description": "Get Status Timeout (s)",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "clusterConnection"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Android signing\n\nSign and align Android APK files",
              "ignoreCase": "value",
              "pattern": "^AndroidSigning@2$"
            },
            "inputs": {
              "description": "Android signing inputs",
              "properties": {
                "apkFiles": {
                  "type": "string",
                  "description": "APK files",
                  "ignoreCase": "key",
                  "aliases": [
                    "files"
                  ]
                },
                "jarsign": {
                  "type": "boolean",
                  "description": "Sign the APK",
                  "ignoreCase": "key"
                },
                "jarsignerKeystoreFile": {
                  "type": "string",
                  "description": "Keystore file",
                  "ignoreCase": "key",
                  "aliases": [
                    "keystoreFile"
                  ]
                },
                "jarsignerKeystorePassword": {
                  "type": "string",
                  "description": "Keystore password",
                  "ignoreCase": "key",
                  "aliases": [
                    "keystorePass"
                  ]
                },
                "jarsignerKeystoreAlias": {
                  "type": "string",
                  "description": "Alias",
                  "ignoreCase": "key",
                  "aliases": [
                    "keystoreAlias"
                  ]
                },
                "jarsignerKeyPassword": {
                  "type": "string",
                  "description": "Key password",
                  "ignoreCase": "key",
                  "aliases": [
                    "keyPass"
                  ]
                },
                "jarsignerArguments": {
                  "type": "string",
                  "description": "Jarsigner arguments",
                  "ignoreCase": "key"
                },
                "zipalign": {
                  "type": "boolean",
                  "description": "Zipalign",
                  "ignoreCase": "key"
                },
                "zipalignFile": {
                  "type": "string",
                  "description": "Zipalign location",
                  "ignoreCase": "key",
                  "aliases": [
                    "zipalignLocation"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Android signing\n\nSign and align Android APK files",
              "ignoreCase": "value",
              "pattern": "^AndroidSigning@3$"
            },
            "inputs": {
              "description": "Android signing inputs",
              "properties": {
                "apkFiles": {
                  "type": "string",
                  "description": "APK files",
                  "ignoreCase": "key",
                  "aliases": [
                    "files"
                  ]
                },
                "apksign": {
                  "type": "boolean",
                  "description": "Sign the APK",
                  "ignoreCase": "key"
                },
                "apksignerKeystoreFile": {
                  "type": "string",
                  "description": "Keystore file",
                  "ignoreCase": "key",
                  "aliases": [
                    "keystoreFile"
                  ]
                },
                "apksignerKeystorePassword": {
                  "type": "string",
                  "description": "Keystore password",
                  "ignoreCase": "key",
                  "aliases": [
                    "keystorePass"
                  ]
                },
                "apksignerKeystoreAlias": {
                  "type": "string",
                  "description": "Alias",
                  "ignoreCase": "key",
                  "aliases": [
                    "keystoreAlias"
                  ]
                },
                "apksignerKeyPassword": {
                  "type": "string",
                  "description": "Key password",
                  "ignoreCase": "key",
                  "aliases": [
                    "keyPass"
                  ]
                },
                "apksignerVersion": {
                  "type": "string",
                  "description": "apksigner version",
                  "ignoreCase": "key"
                },
                "apksignerArguments": {
                  "type": "string",
                  "description": "apksigner arguments",
                  "ignoreCase": "key"
                },
                "apksignerFile": {
                  "type": "string",
                  "description": "apksigner location",
                  "ignoreCase": "key",
                  "aliases": [
                    "apksignerLocation"
                  ]
                },
                "zipalign": {
                  "type": "boolean",
                  "description": "Zipalign",
                  "ignoreCase": "key"
                },
                "zipalignVersion": {
                  "type": "string",
                  "description": "Zipalign version",
                  "ignoreCase": "key"
                },
                "zipalignFile": {
                  "type": "string",
                  "description": "Zipalign location",
                  "ignoreCase": "key",
                  "aliases": [
                    "zipalignLocation"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Android Signing\n\nSign and align Android APK files",
              "ignoreCase": "value",
              "pattern": "^AndroidSigning@1$"
            },
            "inputs": {
              "description": "Android Signing inputs",
              "properties": {
                "files": {
                  "type": "string",
                  "description": "APK Files",
                  "ignoreCase": "key"
                },
                "jarsign": {
                  "type": "boolean",
                  "description": "Sign the APK",
                  "ignoreCase": "key"
                },
                "keystoreFile": {
                  "type": "string",
                  "description": "Keystore File",
                  "ignoreCase": "key"
                },
                "keystorePass": {
                  "type": "string",
                  "description": "Keystore Password",
                  "ignoreCase": "key"
                },
                "keystoreAlias": {
                  "type": "string",
                  "description": "Alias",
                  "ignoreCase": "key"
                },
                "keyPass": {
                  "type": "string",
                  "description": "Key Password",
                  "ignoreCase": "key"
                },
                "jarsignerArguments": {
                  "type": "string",
                  "description": "Jarsigner Arguments",
                  "ignoreCase": "key"
                },
                "zipalign": {
                  "type": "boolean",
                  "description": "Zipalign",
                  "ignoreCase": "key"
                },
                "zipalignLocation": {
                  "type": "string",
                  "description": "Zipalign Location",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "files"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Download pipeline artifact\n\nDownload a named artifact from a pipeline to a local path",
              "ignoreCase": "value",
              "pattern": "^DownloadPipelineArtifact@1$"
            },
            "inputs": {
              "description": "Download pipeline artifact inputs",
              "properties": {
                "buildType": {
                  "description": "Download artifacts produced by",
                  "ignoreCase": "all",
                  "enum": [
                    "current",
                    "specific"
                  ]
                },
                "project": {
                  "type": "string",
                  "description": "Project",
                  "ignoreCase": "key"
                },
                "pipeline": {
                  "type": "string",
                  "description": "Build pipeline",
                  "ignoreCase": "key",
                  "aliases": [
                    "definition"
                  ]
                },
                "specificBuildWithTriggering": {
                  "type": "boolean",
                  "description": "When appropriate, download artifacts from the triggering build.",
                  "ignoreCase": "key"
                },
                "buildVersionToDownload": {
                  "description": "Build version to download",
                  "ignoreCase": "all",
                  "enum": [
                    "latest",
                    "latestFromBranch",
                    "specific"
                  ]
                },
                "branchName": {
                  "type": "string",
                  "description": "Branch name",
                  "ignoreCase": "key"
                },
                "pipelineId": {
                  "type": "string",
                  "description": "Build",
                  "ignoreCase": "key",
                  "aliases": [
                    "buildId"
                  ]
                },
                "tags": {
                  "type": "string",
                  "description": "Build Tags",
                  "ignoreCase": "key"
                },
                "artifactName": {
                  "type": "string",
                  "description": "Artifact name",
                  "ignoreCase": "key"
                },
                "itemPattern": {
                  "type": "string",
                  "description": "Matching pattern",
                  "ignoreCase": "key"
                },
                "targetPath": {
                  "type": "string",
                  "description": "Destination directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "downloadPath"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "deprecationMessage": "DownloadPipelineArtifact is deprecated - Download a named artifact from a pipeline to a local path",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Download pipeline artifact\n\nDownloads an artifact associated with a pipeline",
              "ignoreCase": "value",
              "pattern": "^DownloadPipelineArtifact@0$"
            },
            "inputs": {
              "description": "Download pipeline artifact inputs",
              "properties": {
                "pipelineId": {
                  "type": "string",
                  "description": "The specific pipeline to download from",
                  "ignoreCase": "key"
                },
                "artifactName": {
                  "type": "string",
                  "description": "The name of artifact to download.",
                  "ignoreCase": "key"
                },
                "targetPath": {
                  "type": "string",
                  "description": "Path to download to",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "targetPath"
              ]
            }
          },
          "deprecationMessage": "DownloadPipelineArtifact is deprecated - Downloads an artifact associated with a pipeline",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Download Pipeline Artifacts\n\nDownload build and pipeline artifacts",
              "ignoreCase": "value",
              "pattern": "^DownloadPipelineArtifact@2$"
            },
            "inputs": {
              "description": "Download Pipeline Artifacts inputs",
              "properties": {
                "buildType": {
                  "description": "Download artifacts produced by",
                  "ignoreCase": "all",
                  "enum": [
                    "current",
                    "specific"
                  ],
                  "aliases": [
                    "source"
                  ]
                },
                "project": {
                  "type": "string",
                  "description": "Project",
                  "ignoreCase": "key"
                },
                "definition": {
                  "type": "string",
                  "description": "Build pipeline",
                  "ignoreCase": "key",
                  "aliases": [
                    "pipeline"
                  ]
                },
                "specificBuildWithTriggering": {
                  "type": "boolean",
                  "description": "When appropriate, download artifacts from the triggering build.",
                  "ignoreCase": "key",
                  "aliases": [
                    "preferTriggeringPipeline"
                  ]
                },
                "buildVersionToDownload": {
                  "description": "Build version to download",
                  "ignoreCase": "all",
                  "enum": [
                    "latest",
                    "latestFromBranch",
                    "specific"
                  ],
                  "aliases": [
                    "runVersion"
                  ]
                },
                "branchName": {
                  "type": "string",
                  "description": "Branch name",
                  "ignoreCase": "key",
                  "aliases": [
                    "runBranch"
                  ]
                },
                "pipelineId": {
                  "type": "string",
                  "description": "Build",
                  "ignoreCase": "key",
                  "aliases": [
                    "runId",
                    "buildId"
                  ]
                },
                "tags": {
                  "type": "string",
                  "description": "Build Tags",
                  "ignoreCase": "key"
                },
                "allowPartiallySucceededBuilds": {
                  "type": "boolean",
                  "description": "Download artifacts from partially succeeded builds.",
                  "ignoreCase": "key"
                },
                "allowFailedBuilds": {
                  "type": "boolean",
                  "description": "Download artifacts from failed builds.",
                  "ignoreCase": "key"
                },
                "artifactName": {
                  "type": "string",
                  "description": "Artifact name",
                  "ignoreCase": "key",
                  "aliases": [
                    "artifact"
                  ]
                },
                "itemPattern": {
                  "type": "string",
                  "description": "Matching patterns",
                  "ignoreCase": "key",
                  "aliases": [
                    "patterns"
                  ]
                },
                "targetPath": {
                  "type": "string",
                  "description": "Destination directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "path",
                    "downloadPath"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Use Python version\n\nUse the specified version of Python from the tool cache, optionally adding it to the PATH",
              "ignoreCase": "value",
              "pattern": "^UsePythonVersion@0$"
            },
            "inputs": {
              "description": "Use Python version inputs",
              "properties": {
                "versionSpec": {
                  "type": "string",
                  "description": "Version spec",
                  "ignoreCase": "key"
                },
                "disableDownloadFromRegistry": {
                  "type": "boolean",
                  "description": "Disable downloading releases from the GitHub registry",
                  "ignoreCase": "key"
                },
                "allowUnstable": {
                  "type": "boolean",
                  "description": "Allow downloading unstable releases",
                  "ignoreCase": "key"
                },
                "githubToken": {
                  "type": "string",
                  "description": "GitHub token for GitHub Actions python registry",
                  "ignoreCase": "key"
                },
                "addToPath": {
                  "type": "boolean",
                  "description": "Add to PATH",
                  "ignoreCase": "key"
                },
                "architecture": {
                  "description": "Architecture",
                  "ignoreCase": "all",
                  "enum": [
                    "x86",
                    "x64"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Service Fabric PowerShell\n\nRun a PowerShell script in the context of an Azure Service Fabric cluster connection",
              "ignoreCase": "value",
              "pattern": "^ServiceFabricPowerShell@1$"
            },
            "inputs": {
              "description": "Service Fabric PowerShell inputs",
              "properties": {
                "clusterConnection": {
                  "type": "string",
                  "description": "Cluster Service Connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "serviceConnectionName"
                  ]
                },
                "ScriptType": {
                  "description": "Script Type",
                  "ignoreCase": "all",
                  "enum": [
                    "FilePath",
                    "InlineScript"
                  ]
                },
                "ScriptPath": {
                  "type": "string",
                  "description": "Script Path",
                  "ignoreCase": "key"
                },
                "Inline": {
                  "type": "string",
                  "description": "Inline Script",
                  "ignoreCase": "key"
                },
                "ScriptArguments": {
                  "type": "string",
                  "description": "Script Arguments",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "clusterConnection"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Visual Studio Test\n\nRun tests with Visual Studio test runner",
              "ignoreCase": "value",
              "pattern": "^VSTest@1$"
            },
            "inputs": {
              "description": "Visual Studio Test inputs",
              "properties": {
                "testAssembly": {
                  "type": "string",
                  "description": "Test Assembly",
                  "ignoreCase": "key"
                },
                "testFiltercriteria": {
                  "type": "string",
                  "description": "Test Filter criteria",
                  "ignoreCase": "key"
                },
                "runSettingsFile": {
                  "type": "string",
                  "description": "Run Settings File",
                  "ignoreCase": "key"
                },
                "overrideTestrunParameters": {
                  "type": "string",
                  "description": "Override TestRun Parameters",
                  "ignoreCase": "key"
                },
                "codeCoverageEnabled": {
                  "type": "boolean",
                  "description": "Code Coverage Enabled",
                  "ignoreCase": "key"
                },
                "runInParallel": {
                  "type": "boolean",
                  "description": "Run In Parallel",
                  "ignoreCase": "key"
                },
                "vstestLocationMethod": {
                  "description": "VSTest",
                  "ignoreCase": "all",
                  "enum": [
                    "version",
                    "location"
                  ]
                },
                "vsTestVersion": {
                  "description": "VSTest version",
                  "ignoreCase": "all",
                  "enum": [
                    "latest",
                    "14.0",
                    "12.0"
                  ]
                },
                "vstestLocation": {
                  "type": "string",
                  "description": "Path to vstest.console.exe",
                  "ignoreCase": "key"
                },
                "pathtoCustomTestAdapters": {
                  "type": "string",
                  "description": "Path to Custom Test Adapters",
                  "ignoreCase": "key"
                },
                "otherConsoleOptions": {
                  "type": "string",
                  "description": "Other console options",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test Run Title",
                  "ignoreCase": "key"
                },
                "platform": {
                  "type": "string",
                  "description": "Platform",
                  "ignoreCase": "key"
                },
                "configuration": {
                  "type": "string",
                  "description": "Configuration",
                  "ignoreCase": "key"
                },
                "publishRunAttachments": {
                  "type": "boolean",
                  "description": "Upload Test Attachments",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Visual Studio Test\n\nRun unit and functional tests (Selenium, Appium, Coded UI test, etc.) using the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be distributed on multiple agents using this task (version 2).",
              "ignoreCase": "value",
              "pattern": "^VSTest@2$"
            },
            "inputs": {
              "description": "Visual Studio Test inputs",
              "properties": {
                "testSelector": {
                  "description": "Select tests using",
                  "ignoreCase": "all",
                  "enum": [
                    "testAssemblies",
                    "testPlan",
                    "testRun"
                  ]
                },
                "testAssemblyVer2": {
                  "type": "string",
                  "description": "Test files",
                  "ignoreCase": "key"
                },
                "testPlan": {
                  "type": "string",
                  "description": "Test plan",
                  "ignoreCase": "key"
                },
                "testSuite": {
                  "type": "string",
                  "description": "Test suite",
                  "ignoreCase": "key"
                },
                "testConfiguration": {
                  "type": "string",
                  "description": "Test configuration",
                  "ignoreCase": "key"
                },
                "tcmTestRun": {
                  "type": "string",
                  "description": "Test Run",
                  "ignoreCase": "key"
                },
                "searchFolder": {
                  "type": "string",
                  "description": "Search folder",
                  "ignoreCase": "key"
                },
                "resultsFolder": {
                  "type": "string",
                  "description": "Test results folder",
                  "ignoreCase": "key"
                },
                "testFiltercriteria": {
                  "type": "string",
                  "description": "Test filter criteria",
                  "ignoreCase": "key"
                },
                "runOnlyImpactedTests": {
                  "type": "boolean",
                  "description": "Run only impacted tests",
                  "ignoreCase": "key"
                },
                "runAllTestsAfterXBuilds": {
                  "type": "string",
                  "description": "Number of builds after which all tests should be run",
                  "ignoreCase": "key"
                },
                "uiTests": {
                  "type": "boolean",
                  "description": "Test mix contains UI tests",
                  "ignoreCase": "key"
                },
                "vstestLocationMethod": {
                  "description": "Select test platform using",
                  "ignoreCase": "all",
                  "enum": [
                    "version",
                    "location"
                  ]
                },
                "vsTestVersion": {
                  "description": "Test platform version",
                  "ignoreCase": "all",
                  "enum": [
                    "latest",
                    "17.0",
                    "16.0",
                    "15.0",
                    "14.0",
                    "toolsInstaller"
                  ]
                },
                "vstestLocation": {
                  "type": "string",
                  "description": "Path to vstest.console.exe",
                  "ignoreCase": "key"
                },
                "runSettingsFile": {
                  "type": "string",
                  "description": "Settings file",
                  "ignoreCase": "key"
                },
                "overrideTestrunParameters": {
                  "type": "string",
                  "description": "Override test run parameters",
                  "ignoreCase": "key"
                },
                "pathtoCustomTestAdapters": {
                  "type": "string",
                  "description": "Path to custom test adapters",
                  "ignoreCase": "key"
                },
                "runInParallel": {
                  "type": "boolean",
                  "description": "Run tests in parallel on multi-core machines",
                  "ignoreCase": "key"
                },
                "runTestsInIsolation": {
                  "type": "boolean",
                  "description": "Run tests in isolation",
                  "ignoreCase": "key"
                },
                "codeCoverageEnabled": {
                  "type": "boolean",
                  "description": "Code coverage enabled",
                  "ignoreCase": "key"
                },
                "otherConsoleOptions": {
                  "type": "string",
                  "description": "Other console options",
                  "ignoreCase": "key"
                },
                "distributionBatchType": {
                  "description": "Batch tests",
                  "ignoreCase": "all",
                  "enum": [
                    "basedOnTestCases",
                    "basedOnExecutionTime",
                    "basedOnAssembly"
                  ]
                },
                "batchingBasedOnAgentsOption": {
                  "description": "Batch options",
                  "ignoreCase": "all",
                  "enum": [
                    "autoBatchSize",
                    "customBatchSize"
                  ]
                },
                "customBatchSizeValue": {
                  "type": "string",
                  "description": "Number of tests per batch",
                  "ignoreCase": "key"
                },
                "batchingBasedOnExecutionTimeOption": {
                  "description": "Batch options",
                  "ignoreCase": "all",
                  "enum": [
                    "autoBatchSize",
                    "customTimeBatchSize"
                  ]
                },
                "customRunTimePerBatchValue": {
                  "type": "string",
                  "description": "Running time (sec) per batch",
                  "ignoreCase": "key"
                },
                "dontDistribute": {
                  "type": "boolean",
                  "description": "Replicate tests instead of distributing when multiple agents are used in the job",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test run title",
                  "ignoreCase": "key"
                },
                "platform": {
                  "type": "string",
                  "description": "Build platform",
                  "ignoreCase": "key"
                },
                "configuration": {
                  "type": "string",
                  "description": "Build configuration",
                  "ignoreCase": "key"
                },
                "publishRunAttachments": {
                  "type": "boolean",
                  "description": "Upload test attachments",
                  "ignoreCase": "key"
                },
                "failOnMinTestsNotRun": {
                  "type": "boolean",
                  "description": "Fail the task if a minimum number of tests are not run.",
                  "ignoreCase": "key"
                },
                "minimumExpectedTests": {
                  "type": "string",
                  "description": "Minimum # of tests",
                  "ignoreCase": "key"
                },
                "diagnosticsEnabled": {
                  "type": "boolean",
                  "description": "Collect advanced diagnostics in case of catastrophic failures",
                  "ignoreCase": "key"
                },
                "collectDumpOn": {
                  "description": "Collect process dump and attach to test run report",
                  "ignoreCase": "all",
                  "enum": [
                    "onAbortOnly",
                    "always",
                    "never"
                  ]
                },
                "rerunFailedTests": {
                  "type": "boolean",
                  "description": "Rerun failed tests",
                  "ignoreCase": "key"
                },
                "rerunType": {
                  "description": "Do not rerun if test failures exceed specified threshold",
                  "ignoreCase": "all",
                  "enum": [
                    "basedOnTestFailurePercentage",
                    "basedOnTestFailureCount"
                  ]
                },
                "rerunFailedThreshold": {
                  "type": "string",
                  "description": "% failure",
                  "ignoreCase": "key"
                },
                "rerunFailedTestCasesMaxLimit": {
                  "type": "string",
                  "description": "# of failed tests",
                  "ignoreCase": "key"
                },
                "rerunMaxAttempts": {
                  "type": "string",
                  "description": "Maximum # of attempts",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Manual validation\n\n[PREVIEW] Pause a pipeline run to wait for manual interaction. Works only with YAML pipelines.",
              "ignoreCase": "value",
              "pattern": "^ManualValidation@0$"
            },
            "inputs": {
              "description": "Manual validation inputs",
              "properties": {
                "notifyUsers": {
                  "type": "string",
                  "description": "Notify users",
                  "ignoreCase": "key"
                },
                "instructions": {
                  "type": "string",
                  "description": "Instructions",
                  "ignoreCase": "key"
                },
                "onTimeout": {
                  "description": "On timeout",
                  "ignoreCase": "all",
                  "enum": [
                    "reject",
                    "resume"
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "notifyUsers"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Ant\n\nBuild with Apache Ant",
              "ignoreCase": "value",
              "pattern": "^Ant@1$"
            },
            "inputs": {
              "description": "Ant inputs",
              "properties": {
                "buildFile": {
                  "type": "string",
                  "description": "Ant build file",
                  "ignoreCase": "key",
                  "aliases": [
                    "antBuildFile"
                  ]
                },
                "options": {
                  "type": "string",
                  "description": "Options",
                  "ignoreCase": "key"
                },
                "targets": {
                  "type": "string",
                  "description": "Target(s)",
                  "ignoreCase": "key"
                },
                "publishJUnitResults": {
                  "type": "boolean",
                  "description": "Publish to Azure Pipelines",
                  "ignoreCase": "key"
                },
                "testResultsFiles": {
                  "type": "string",
                  "description": "Test results files",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test run title",
                  "ignoreCase": "key"
                },
                "codeCoverageToolOptions": {
                  "description": "Code coverage tool",
                  "ignoreCase": "all",
                  "enum": [
                    "None",
                    "Cobertura",
                    "JaCoCo"
                  ],
                  "aliases": [
                    "codeCoverageTool"
                  ]
                },
                "codeCoverageClassFilesDirectories": {
                  "type": "string",
                  "description": "Class files directories",
                  "ignoreCase": "key",
                  "aliases": [
                    "classFilesDirectories"
                  ]
                },
                "codeCoverageClassFilter": {
                  "type": "string",
                  "description": "Class inclusion/exclusion filters",
                  "ignoreCase": "key",
                  "aliases": [
                    "classFilter"
                  ]
                },
                "codeCoverageSourceDirectories": {
                  "type": "string",
                  "description": "Source files directories",
                  "ignoreCase": "key",
                  "aliases": [
                    "srcDirectories"
                  ]
                },
                "codeCoverageFailIfEmpty": {
                  "type": "boolean",
                  "description": "Fail when code coverage results are missing",
                  "ignoreCase": "key",
                  "aliases": [
                    "failIfCoverageEmpty"
                  ]
                },
                "antHomeDirectory": {
                  "type": "string",
                  "description": "Set ANT_HOME path",
                  "ignoreCase": "key",
                  "aliases": [
                    "antHomeUserInputPath"
                  ]
                },
                "javaHomeOption": {
                  "description": "Set JAVA_HOME by",
                  "ignoreCase": "all",
                  "enum": [
                    "JDKVersion",
                    "Path"
                  ],
                  "aliases": [
                    "javaHomeSelection"
                  ]
                },
                "jdkVersionOption": {
                  "description": "JDK version",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "1.11",
                    "1.10",
                    "1.9",
                    "1.8",
                    "1.7",
                    "1.6"
                  ],
                  "aliases": [
                    "jdkVersion"
                  ]
                },
                "jdkUserInputDirectory": {
                  "type": "string",
                  "description": "JDK path",
                  "ignoreCase": "key",
                  "aliases": [
                    "jdkUserInputPath"
                  ]
                },
                "jdkArchitectureOption": {
                  "description": "JDK architecture",
                  "ignoreCase": "all",
                  "enum": [
                    "x86",
                    "x64"
                  ],
                  "aliases": [
                    "jdkArchitecture"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Visual Studio test agent deployment\n\nDeprecated: Instead, use the 'Visual Studio Test' task to run unit and functional tests",
              "ignoreCase": "value",
              "pattern": "^DeployVisualStudioTestAgent@2$"
            },
            "inputs": {
              "description": "Visual Studio test agent deployment inputs",
              "properties": {
                "testMachines": {
                  "type": "string",
                  "description": "Machines",
                  "ignoreCase": "key"
                },
                "adminUserName": {
                  "type": "string",
                  "description": "Admin login",
                  "ignoreCase": "key"
                },
                "adminPassword": {
                  "type": "string",
                  "description": "Admin password",
                  "ignoreCase": "key"
                },
                "winRmProtocol": {
                  "description": "Protocol",
                  "ignoreCase": "all",
                  "enum": [
                    "Http",
                    "Https"
                  ]
                },
                "testCertificate": {
                  "type": "boolean",
                  "description": "Test Certificate",
                  "ignoreCase": "key"
                },
                "machineUserName": {
                  "type": "string",
                  "description": "Username",
                  "ignoreCase": "key"
                },
                "machinePassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "runAsProcess": {
                  "type": "boolean",
                  "description": "Run UI tests",
                  "ignoreCase": "key"
                },
                "isDataCollectionOnly": {
                  "type": "boolean",
                  "description": "Enable data collection only",
                  "ignoreCase": "key"
                },
                "testPlatform": {
                  "description": "Test agent version",
                  "ignoreCase": "all",
                  "enum": [
                    "15.0",
                    "14.0"
                  ]
                },
                "agentLocation": {
                  "type": "string",
                  "description": "Test agent location",
                  "ignoreCase": "key"
                },
                "updateTestAgent": {
                  "type": "boolean",
                  "description": "Update test agent",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "testMachines",
                "adminUserName",
                "adminPassword",
                "machineUserName",
                "machinePassword"
              ]
            }
          },
          "deprecationMessage": "DeployVisualStudioTestAgent is deprecated - Deprecated: Instead, use the 'Visual Studio Test' task to run unit and functional tests",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Visual Studio Test Agent Deployment\n\nDeploy and configure Test Agent to run tests on a set of machines",
              "ignoreCase": "value",
              "pattern": "^DeployVisualStudioTestAgent@1$"
            },
            "inputs": {
              "description": "Visual Studio Test Agent Deployment inputs",
              "properties": {
                "testMachineGroup": {
                  "type": "string",
                  "description": "Machines",
                  "ignoreCase": "key"
                },
                "adminUserName": {
                  "type": "string",
                  "description": "Admin Login",
                  "ignoreCase": "key"
                },
                "adminPassword": {
                  "type": "string",
                  "description": "Admin Password",
                  "ignoreCase": "key"
                },
                "winRmProtocol": {
                  "description": "Protocol",
                  "ignoreCase": "all",
                  "enum": [
                    "Http",
                    "Https"
                  ]
                },
                "testCertificate": {
                  "type": "boolean",
                  "description": "Test Certificate",
                  "ignoreCase": "key"
                },
                "resourceFilteringMethod": {
                  "description": "Select Machines By",
                  "ignoreCase": "all",
                  "enum": [
                    "machineNames",
                    "tags"
                  ]
                },
                "testMachines": {
                  "type": "string",
                  "description": "Filter Criteria",
                  "ignoreCase": "key"
                },
                "machineUserName": {
                  "type": "string",
                  "description": "Username",
                  "ignoreCase": "key"
                },
                "machinePassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "runAsProcess": {
                  "type": "boolean",
                  "description": "Interactive Process",
                  "ignoreCase": "key"
                },
                "agentLocation": {
                  "type": "string",
                  "description": "Test Agent Location",
                  "ignoreCase": "key"
                },
                "updateTestAgent": {
                  "type": "boolean",
                  "description": "Update Test Agent",
                  "ignoreCase": "key"
                },
                "isDataCollectionOnly": {
                  "type": "boolean",
                  "description": "Enable Data Collection Only",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "testMachineGroup",
                "machineUserName",
                "machinePassword"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Conda environment\n\nCreate and activate a Conda environment",
              "ignoreCase": "value",
              "pattern": "^CondaEnvironment@0$"
            },
            "inputs": {
              "description": "Conda environment inputs",
              "properties": {
                "environmentName": {
                  "type": "string",
                  "description": "Environment name",
                  "ignoreCase": "key"
                },
                "packageSpecs": {
                  "type": "string",
                  "description": "Package specs",
                  "ignoreCase": "key"
                },
                "updateConda": {
                  "type": "boolean",
                  "description": "Update to the latest Conda",
                  "ignoreCase": "key"
                },
                "createOptions": {
                  "type": "string",
                  "description": "Environment creation options",
                  "ignoreCase": "key"
                },
                "cleanEnvironment": {
                  "type": "boolean",
                  "description": "Clean the environment",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "environmentName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Conda environment\n\nThis task is deprecated. Use `conda` directly in script to work with Anaconda environments.",
              "ignoreCase": "value",
              "pattern": "^CondaEnvironment@1$"
            },
            "inputs": {
              "description": "Conda environment inputs",
              "properties": {
                "createCustomEnvironment": {
                  "type": "boolean",
                  "description": "Create a custom environment",
                  "ignoreCase": "key"
                },
                "environmentName": {
                  "type": "string",
                  "description": "Environment name",
                  "ignoreCase": "key"
                },
                "packageSpecs": {
                  "type": "string",
                  "description": "Package specs",
                  "ignoreCase": "key"
                },
                "updateConda": {
                  "type": "boolean",
                  "description": "Update to the latest Conda",
                  "ignoreCase": "key"
                },
                "installOptions": {
                  "type": "string",
                  "description": "Other options for `conda install`",
                  "ignoreCase": "key"
                },
                "createOptions": {
                  "type": "string",
                  "description": "Other options for `conda create`",
                  "ignoreCase": "key"
                },
                "cleanEnvironment": {
                  "type": "boolean",
                  "description": "Clean the environment",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "deprecationMessage": "CondaEnvironment is deprecated - This task is deprecated. Use `conda` directly in script to work with Anaconda environments.",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Batch script\n\nRun a Windows command or batch script and optionally allow it to change the environment",
              "ignoreCase": "value",
              "pattern": "^BatchScript@1$"
            },
            "inputs": {
              "description": "Batch script inputs",
              "properties": {
                "filename": {
                  "type": "string",
                  "description": "Path",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "modifyEnvironment": {
                  "type": "boolean",
                  "description": "Modify Environment",
                  "ignoreCase": "key"
                },
                "workingFolder": {
                  "type": "string",
                  "description": "Working folder",
                  "ignoreCase": "key"
                },
                "failOnStandardError": {
                  "type": "boolean",
                  "description": "Fail on Standard Error",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "filename"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Download Github Npm Package\n\nInstall npm packages from GitHub.",
              "ignoreCase": "value",
              "pattern": "^DownloadGithubNpmPackage@1$"
            },
            "inputs": {
              "description": "Download Github Npm Package inputs",
              "properties": {
                "packageName": {
                  "type": "string",
                  "description": "Package Name",
                  "ignoreCase": "key"
                },
                "version": {
                  "type": "string",
                  "description": "Package Version",
                  "ignoreCase": "key"
                },
                "externalRegistryCredentials": {
                  "type": "string",
                  "description": "Credentials for registry from GitHub",
                  "ignoreCase": "key",
                  "aliases": [
                    "externalEndpoints"
                  ]
                },
                "installDirectory": {
                  "type": "string",
                  "description": "Destination directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "packagesDirectory"
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "packageName",
                "version",
                "externalRegistryCredentials"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Visual Studio build\n\nBuild with MSBuild and set the Visual Studio version property",
              "ignoreCase": "value",
              "pattern": "^VSBuild@1$"
            },
            "inputs": {
              "description": "Visual Studio build inputs",
              "properties": {
                "solution": {
                  "type": "string",
                  "description": "Solution",
                  "ignoreCase": "key"
                },
                "vsVersion": {
                  "description": "Visual Studio Version",
                  "ignoreCase": "all",
                  "enum": [
                    "latest",
                    "17.0",
                    "16.0",
                    "15.0",
                    "14.0",
                    "12.0",
                    "11.0"
                  ]
                },
                "msbuildArgs": {
                  "type": "string",
                  "description": "MSBuild Arguments",
                  "ignoreCase": "key"
                },
                "platform": {
                  "type": "string",
                  "description": "Platform",
                  "ignoreCase": "key"
                },
                "configuration": {
                  "type": "string",
                  "description": "Configuration",
                  "ignoreCase": "key"
                },
                "clean": {
                  "type": "boolean",
                  "description": "Clean",
                  "ignoreCase": "key"
                },
                "maximumCpuCount": {
                  "type": "boolean",
                  "description": "Build in Parallel",
                  "ignoreCase": "key"
                },
                "restoreNugetPackages": {
                  "type": "boolean",
                  "description": "Restore NuGet Packages",
                  "ignoreCase": "key"
                },
                "msbuildArchitecture": {
                  "description": "MSBuild Architecture",
                  "ignoreCase": "all",
                  "enum": [
                    "x86",
                    "x64"
                  ]
                },
                "logProjectEvents": {
                  "type": "boolean",
                  "description": "Record Project Details",
                  "ignoreCase": "key"
                },
                "createLogFile": {
                  "type": "boolean",
                  "description": "Create Log File",
                  "ignoreCase": "key"
                },
                "logFileVerbosity": {
                  "description": "Log File Verbosity",
                  "ignoreCase": "all",
                  "enum": [
                    "quiet",
                    "minimal",
                    "normal",
                    "detailed",
                    "diagnostic"
                  ]
                },
                "enableDefaultLogger": {
                  "type": "boolean",
                  "description": "Enable Default Logger",
                  "ignoreCase": "key"
                },
                "customVersion": {
                  "type": "string",
                  "description": "Custom Version",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure Key Vault\n\nDownload Azure Key Vault secrets",
              "ignoreCase": "value",
              "pattern": "^AzureKeyVault@2$"
            },
            "inputs": {
              "description": "Azure Key Vault inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "KeyVaultName": {
                  "type": "string",
                  "description": "Key vault",
                  "ignoreCase": "key"
                },
                "SecretsFilter": {
                  "type": "string",
                  "description": "Secrets filter",
                  "ignoreCase": "key"
                },
                "RunAsPreJob": {
                  "type": "boolean",
                  "description": "Make secrets available to whole job",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription",
                "KeyVaultName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure Key Vault\n\nDownload Azure Key Vault secrets",
              "ignoreCase": "value",
              "pattern": "^AzureKeyVault@1$"
            },
            "inputs": {
              "description": "Azure Key Vault inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "KeyVaultName": {
                  "type": "string",
                  "description": "Key vault",
                  "ignoreCase": "key"
                },
                "SecretsFilter": {
                  "type": "string",
                  "description": "Secrets filter",
                  "ignoreCase": "key"
                },
                "RunAsPreJob": {
                  "type": "boolean",
                  "description": "Make secrets available to whole job",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription",
                "KeyVaultName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Use .NET Core\n\nAcquires a specific version of the .NET Core SDK from the internet or the local cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks. Additionally provides proxy support.",
              "ignoreCase": "value",
              "pattern": "^UseDotNet@2$"
            },
            "inputs": {
              "description": "Use .NET Core inputs",
              "properties": {
                "packageType": {
                  "description": "Package to install",
                  "ignoreCase": "all",
                  "enum": [
                    "runtime",
                    "sdk"
                  ]
                },
                "useGlobalJson": {
                  "type": "boolean",
                  "description": "Use global json",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key"
                },
                "version": {
                  "type": "string",
                  "description": "Version",
                  "ignoreCase": "key"
                },
                "vsVersion": {
                  "type": "string",
                  "description": "Compatible Visual Studio version",
                  "ignoreCase": "key"
                },
                "includePreviewVersions": {
                  "type": "boolean",
                  "description": "Include Preview Versions",
                  "ignoreCase": "key"
                },
                "installationPath": {
                  "type": "string",
                  "description": "Path To Install .Net Core",
                  "ignoreCase": "key"
                },
                "performMultiLevelLookup": {
                  "type": "boolean",
                  "description": "Perform Multi Level Lookup",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": ".NET Core SDK/runtime installer\n\nAcquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH",
              "ignoreCase": "value",
              "pattern": "^DotNetCoreInstaller@0$"
            },
            "inputs": {
              "description": ".NET Core SDK/runtime installer inputs",
              "properties": {
                "packageType": {
                  "description": "Package to install",
                  "ignoreCase": "all",
                  "enum": [
                    "runtime",
                    "sdk"
                  ]
                },
                "version": {
                  "type": "string",
                  "description": "Version",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": ".NET Core sdk/runtime installer\n\nAcquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH",
              "ignoreCase": "value",
              "pattern": "^DotNetCoreInstaller@1$"
            },
            "inputs": {
              "description": ".NET Core sdk/runtime installer inputs",
              "properties": {
                "packageType": {
                  "description": "Package to install",
                  "ignoreCase": "all",
                  "enum": [
                    "runtime",
                    "sdk"
                  ]
                },
                "version": {
                  "type": "string",
                  "description": "Version",
                  "ignoreCase": "key"
                },
                "includePreviewVersions": {
                  "type": "boolean",
                  "description": "Include Preview Versions",
                  "ignoreCase": "key"
                },
                "installationPath": {
                  "type": "string",
                  "description": "Path To Install .Net Core",
                  "ignoreCase": "key"
                },
                "performMultiLevelLookup": {
                  "type": "boolean",
                  "description": "Perform Multi Level Lookup",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "deprecationMessage": "DotNetCoreInstaller is deprecated - Acquire a specific version of the .NET Core SDK from the internet or local cache and add it to the PATH",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure App Service manage\n\nStart, stop, restart, slot swap, slot delete, install site extensions or enable continuous monitoring for an Azure App Service",
              "ignoreCase": "value",
              "pattern": "^AzureAppServiceManage@0$"
            },
            "inputs": {
              "description": "Azure App Service manage inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "Action": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "Swap Slots",
                    "Start Azure App Service",
                    "Stop Azure App Service",
                    "Restart Azure App Service",
                    "Start Swap With Preview",
                    "Complete Swap",
                    "Cancel Swap",
                    "Delete Slot",
                    "Install Extensions",
                    "Enable Continuous Monitoring",
                    "Start all continuous webjobs",
                    "Stop all continuous webjobs"
                  ]
                },
                "WebAppName": {
                  "type": "string",
                  "description": "App Service name",
                  "ignoreCase": "key"
                },
                "SpecifySlotOrASE": {
                  "type": "boolean",
                  "description": "Specify Slot or App Service Environment",
                  "ignoreCase": "key",
                  "aliases": [
                    "SpecifySlot"
                  ]
                },
                "ResourceGroupName": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "SourceSlot": {
                  "type": "string",
                  "description": "Source Slot",
                  "ignoreCase": "key"
                },
                "SwapWithProduction": {
                  "type": "boolean",
                  "description": "Swap with Production",
                  "ignoreCase": "key"
                },
                "TargetSlot": {
                  "type": "string",
                  "description": "Target Slot",
                  "ignoreCase": "key"
                },
                "PreserveVnet": {
                  "type": "boolean",
                  "description": "Preserve Vnet",
                  "ignoreCase": "key"
                },
                "Slot": {
                  "type": "string",
                  "description": "Slot",
                  "ignoreCase": "key"
                },
                "ExtensionsList": {
                  "type": "string",
                  "description": "Install Extensions",
                  "ignoreCase": "key"
                },
                "OutputVariable": {
                  "type": "string",
                  "description": "Output variable",
                  "ignoreCase": "key"
                },
                "AppInsightsResourceGroupName": {
                  "type": "string",
                  "description": "Resource Group name for Application Insights",
                  "ignoreCase": "key"
                },
                "ApplicationInsightsResourceName": {
                  "type": "string",
                  "description": "Application Insights resource name",
                  "ignoreCase": "key"
                },
                "ApplicationInsightsWebTestName": {
                  "type": "string",
                  "description": "Application Insights web test name",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription",
                "WebAppName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Install Azure Func Core Tools\n\nInstall Azure Func Core Tools",
              "ignoreCase": "value",
              "pattern": "^FuncToolsInstaller@0$"
            },
            "inputs": {
              "description": "Install Azure Func Core Tools inputs",
              "properties": {
                "version": {
                  "type": "string",
                  "description": "Version",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "File transform\n\nReplace tokens with variable values in XML or JSON configuration files",
              "ignoreCase": "value",
              "pattern": "^FileTransform@2$"
            },
            "inputs": {
              "description": "File transform inputs",
              "properties": {
                "folderPath": {
                  "type": "string",
                  "description": "Package or folder",
                  "ignoreCase": "key"
                },
                "xmlTransformationRules": {
                  "type": "string",
                  "description": "XML Transformation rules",
                  "ignoreCase": "key"
                },
                "jsonTargetFiles": {
                  "type": "string",
                  "description": "JSON target files",
                  "ignoreCase": "key"
                },
                "xmlTargetFiles": {
                  "type": "string",
                  "description": "XML target files",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "File transform\n\nReplace tokens with variable values in XML or JSON configuration files",
              "ignoreCase": "value",
              "pattern": "^FileTransform@1$"
            },
            "inputs": {
              "description": "File transform inputs",
              "properties": {
                "folderPath": {
                  "type": "string",
                  "description": "Package or folder",
                  "ignoreCase": "key"
                },
                "enableXmlTransform": {
                  "type": "boolean",
                  "description": "XML transformation",
                  "ignoreCase": "key"
                },
                "xmlTransformationRules": {
                  "type": "string",
                  "description": "Transformation rules",
                  "ignoreCase": "key"
                },
                "fileType": {
                  "description": "File format",
                  "ignoreCase": "all",
                  "enum": [
                    "xml",
                    "json"
                  ]
                },
                "targetFiles": {
                  "type": "string",
                  "description": "Target files",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Extract files\n\nExtract a variety of archive and compression files such as .7z, .rar, .tar.gz, and .zip",
              "ignoreCase": "value",
              "pattern": "^ExtractFiles@1$"
            },
            "inputs": {
              "description": "Extract files inputs",
              "properties": {
                "archiveFilePatterns": {
                  "type": "string",
                  "description": "Archive file patterns",
                  "ignoreCase": "key"
                },
                "destinationFolder": {
                  "type": "string",
                  "description": "Destination folder",
                  "ignoreCase": "key"
                },
                "cleanDestinationFolder": {
                  "type": "boolean",
                  "description": "Clean destination folder before extracting",
                  "ignoreCase": "key"
                },
                "overwriteExistingFiles": {
                  "type": "boolean",
                  "description": "Overwrite existing files",
                  "ignoreCase": "key"
                },
                "pathToSevenZipTool": {
                  "type": "string",
                  "description": "Path to 7z utility",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "destinationFolder"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Xamarin.Android\n\nBuild an Android app with Xamarin",
              "ignoreCase": "value",
              "pattern": "^XamarinAndroid@1$"
            },
            "inputs": {
              "description": "Xamarin.Android inputs",
              "properties": {
                "projectFile": {
                  "type": "string",
                  "description": "Project",
                  "ignoreCase": "key",
                  "aliases": [
                    "project"
                  ]
                },
                "target": {
                  "type": "string",
                  "description": "Target",
                  "ignoreCase": "key"
                },
                "outputDirectory": {
                  "type": "string",
                  "description": "Output directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "outputDir"
                  ]
                },
                "configuration": {
                  "type": "string",
                  "description": "Configuration",
                  "ignoreCase": "key"
                },
                "createAppPackage": {
                  "type": "boolean",
                  "description": "Create app package",
                  "ignoreCase": "key"
                },
                "clean": {
                  "type": "boolean",
                  "description": "Clean",
                  "ignoreCase": "key"
                },
                "msbuildLocationOption": {
                  "description": "MSBuild",
                  "ignoreCase": "all",
                  "enum": [
                    "version",
                    "location"
                  ],
                  "aliases": [
                    "msbuildLocationMethod"
                  ]
                },
                "msbuildVersionOption": {
                  "description": "MSBuild version",
                  "ignoreCase": "all",
                  "enum": [
                    "latest",
                    "17.0",
                    "16.0",
                    "15.0",
                    "14.0",
                    "12.0",
                    "4.0"
                  ],
                  "aliases": [
                    "msbuildVersion"
                  ]
                },
                "msbuildFile": {
                  "type": "string",
                  "description": "MSBuild location",
                  "ignoreCase": "key",
                  "aliases": [
                    "msbuildLocation"
                  ]
                },
                "msbuildArchitectureOption": {
                  "description": "MSBuild architecture",
                  "ignoreCase": "all",
                  "enum": [
                    "x86",
                    "x64"
                  ],
                  "aliases": [
                    "msbuildArchitecture"
                  ]
                },
                "msbuildArguments": {
                  "type": "string",
                  "description": "Additional arguments",
                  "ignoreCase": "key"
                },
                "jdkOption": {
                  "description": "Select JDK to use for the build",
                  "ignoreCase": "all",
                  "enum": [
                    "JDKVersion",
                    "Path"
                  ],
                  "aliases": [
                    "jdkSelection"
                  ]
                },
                "jdkVersionOption": {
                  "description": "JDK version",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "1.11",
                    "1.10",
                    "1.9",
                    "1.8",
                    "1.7",
                    "1.6"
                  ],
                  "aliases": [
                    "jdkVersion"
                  ]
                },
                "jdkDirectory": {
                  "type": "string",
                  "description": "JDK path",
                  "ignoreCase": "key",
                  "aliases": [
                    "jdkUserInputPath"
                  ]
                },
                "jdkArchitectureOption": {
                  "description": "JDK architecture",
                  "ignoreCase": "all",
                  "enum": [
                    "x86",
                    "x64"
                  ],
                  "aliases": [
                    "jdkArchitecture"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Copy and Publish Build Artifacts\n\n[DEPRECATED] Use the Copy Files task and the Publish Build Artifacts task instead",
              "ignoreCase": "value",
              "pattern": "^CopyPublishBuildArtifacts@1$"
            },
            "inputs": {
              "description": "Copy and Publish Build Artifacts inputs",
              "properties": {
                "CopyRoot": {
                  "type": "string",
                  "description": "Copy Root",
                  "ignoreCase": "key"
                },
                "Contents": {
                  "type": "string",
                  "description": "Contents",
                  "ignoreCase": "key"
                },
                "ArtifactName": {
                  "type": "string",
                  "description": "Artifact Name",
                  "ignoreCase": "key"
                },
                "ArtifactType": {
                  "description": "Artifact Type",
                  "ignoreCase": "all",
                  "enum": [
                    "Container",
                    "FilePath"
                  ]
                },
                "TargetPath": {
                  "type": "string",
                  "description": "Path",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "Contents",
                "ArtifactName",
                "ArtifactType"
              ]
            }
          },
          "deprecationMessage": "CopyPublishBuildArtifacts is deprecated - [DEPRECATED] Use the Copy Files task and the Publish Build Artifacts task instead",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Download package\n\nDownload a package from a package management feed in Azure Artifacts",
              "ignoreCase": "value",
              "pattern": "^DownloadPackage@0$"
            },
            "inputs": {
              "description": "Download package inputs",
              "properties": {
                "feed": {
                  "type": "string",
                  "description": "Feed",
                  "ignoreCase": "key"
                },
                "definition": {
                  "type": "string",
                  "description": "Package",
                  "ignoreCase": "key"
                },
                "version": {
                  "type": "string",
                  "description": "Version",
                  "ignoreCase": "key"
                },
                "downloadPath": {
                  "type": "string",
                  "description": "Destination directory",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "feed",
                "definition",
                "version"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Download package\n\nDownload a package from a package management feed in Azure Artifacts",
              "ignoreCase": "value",
              "pattern": "^DownloadPackage@1$"
            },
            "inputs": {
              "description": "Download package inputs",
              "properties": {
                "packageType": {
                  "description": "Package Type",
                  "ignoreCase": "all",
                  "enum": [
                    "maven",
                    "npm",
                    "nuget",
                    "pypi",
                    "upack",
                    "cargo"
                  ]
                },
                "feed": {
                  "type": "string",
                  "description": "Feed",
                  "ignoreCase": "key"
                },
                "view": {
                  "type": "string",
                  "description": "View",
                  "ignoreCase": "key"
                },
                "definition": {
                  "type": "string",
                  "description": "Package",
                  "ignoreCase": "key"
                },
                "version": {
                  "type": "string",
                  "description": "Version",
                  "ignoreCase": "key"
                },
                "files": {
                  "type": "string",
                  "description": "Files",
                  "ignoreCase": "key"
                },
                "extract": {
                  "type": "boolean",
                  "description": "Extract package contents",
                  "ignoreCase": "key"
                },
                "downloadPath": {
                  "type": "string",
                  "description": "Destination directory",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "feed",
                "definition",
                "version"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "ARM template deployment\n\nDeploy an Azure Resource Manager (ARM) template to all the deployment scopes",
              "ignoreCase": "value",
              "pattern": "^AzureResourceManagerTemplateDeployment@3$"
            },
            "inputs": {
              "description": "ARM template deployment inputs",
              "properties": {
                "deploymentScope": {
                  "description": "Deployment scope",
                  "ignoreCase": "all",
                  "enum": [
                    "Management Group",
                    "Subscription",
                    "Resource Group"
                  ]
                },
                "azureResourceManagerConnection": {
                  "type": "string",
                  "description": "Azure Resource Manager connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "subscriptionId": {
                  "type": "string",
                  "description": "Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "subscriptionName"
                  ]
                },
                "action": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "Create Or Update Resource Group",
                    "DeleteRG"
                  ]
                },
                "resourceGroupName": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "location": {
                  "type": "string",
                  "description": "Location",
                  "ignoreCase": "key"
                },
                "templateLocation": {
                  "description": "Template location",
                  "ignoreCase": "all",
                  "enum": [
                    "Linked artifact",
                    "URL of the file"
                  ]
                },
                "csmFileLink": {
                  "type": "string",
                  "description": "Template link",
                  "ignoreCase": "key"
                },
                "csmParametersFileLink": {
                  "type": "string",
                  "description": "Template parameters link",
                  "ignoreCase": "key"
                },
                "csmFile": {
                  "type": "string",
                  "description": "Template",
                  "ignoreCase": "key"
                },
                "csmParametersFile": {
                  "type": "string",
                  "description": "Template parameters",
                  "ignoreCase": "key"
                },
                "overrideParameters": {
                  "type": "string",
                  "description": "Override template parameters",
                  "ignoreCase": "key"
                },
                "deploymentMode": {
                  "description": "Deployment mode",
                  "ignoreCase": "all",
                  "enum": [
                    "Incremental",
                    "Complete",
                    "Validation"
                  ]
                },
                "deploymentName": {
                  "type": "string",
                  "description": "Deployment name",
                  "ignoreCase": "key"
                },
                "deploymentOutputs": {
                  "type": "string",
                  "description": "Deployment outputs",
                  "ignoreCase": "key"
                },
                "addSpnToEnvironment": {
                  "type": "boolean",
                  "description": "Access service principal details in override parameters",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureResourceManagerConnection"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure Resource Group Deployment\n\nDeploy, start, stop, delete Azure Resource Groups",
              "ignoreCase": "value",
              "pattern": "^AzureResourceGroupDeployment@1$"
            },
            "inputs": {
              "description": "Azure Resource Group Deployment inputs",
              "properties": {
                "ConnectedServiceNameSelector": {
                  "description": "Azure Connection Type",
                  "ignoreCase": "all",
                  "enum": [
                    "ConnectedServiceName",
                    "ConnectedServiceNameClassic"
                  ]
                },
                "ConnectedServiceName": {
                  "type": "string",
                  "description": "Azure Subscription",
                  "ignoreCase": "key"
                },
                "ConnectedServiceNameClassic": {
                  "type": "string",
                  "description": "Azure Classic Subscription",
                  "ignoreCase": "key"
                },
                "action": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "Create Or Update Resource Group",
                    "Select Resource Group",
                    "Start",
                    "Stop",
                    "Restart",
                    "Delete",
                    "DeleteRG"
                  ]
                },
                "actionClassic": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "Select Resource Group"
                  ]
                },
                "resourceGroupName": {
                  "type": "string",
                  "description": "Resource Group",
                  "ignoreCase": "key"
                },
                "cloudService": {
                  "type": "string",
                  "description": "Cloud Service",
                  "ignoreCase": "key"
                },
                "location": {
                  "description": "Location",
                  "ignoreCase": "all",
                  "enum": [
                    "Australia East",
                    "Australia Southeast",
                    "Brazil South",
                    "Canada Central",
                    "Canada East",
                    "Central India",
                    "Central US",
                    "East Asia",
                    "East US",
                    "East US 2 ",
                    "Japan East",
                    "Japan West",
                    "North Central US",
                    "North Europe",
                    "South Central US",
                    "South India",
                    "Southeast Asia",
                    "UK South",
                    "UK West",
                    "West Central US",
                    "West Europe",
                    "West India",
                    "West US",
                    "West US 2"
                  ]
                },
                "csmFile": {
                  "type": "string",
                  "description": "Template",
                  "ignoreCase": "key"
                },
                "csmParametersFile": {
                  "type": "string",
                  "description": "Template Parameters",
                  "ignoreCase": "key"
                },
                "overrideParameters": {
                  "type": "string",
                  "description": "Override Template Parameters",
                  "ignoreCase": "key"
                },
                "deploymentMode": {
                  "description": "Deployment Mode",
                  "ignoreCase": "all",
                  "enum": [
                    "Validation",
                    "Incremental",
                    "Complete"
                  ]
                },
                "enableDeploymentPrerequisitesForCreate": {
                  "type": "boolean",
                  "description": "Enable Deployment Prerequisites",
                  "ignoreCase": "key"
                },
                "enableDeploymentPrerequisitesForSelect": {
                  "type": "boolean",
                  "description": "Enable Deployment Prerequisites",
                  "ignoreCase": "key"
                },
                "outputVariable": {
                  "type": "string",
                  "description": "Resource Group",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "deprecationMessage": "AzureResourceGroupDeployment is deprecated - Deploy, start, stop, delete Azure Resource Groups",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure resource group deployment\n\nDeploy an Azure Resource Manager (ARM) template to a resource group and manage virtual machines",
              "ignoreCase": "value",
              "pattern": "^AzureResourceGroupDeployment@2$"
            },
            "inputs": {
              "description": "Azure resource group deployment inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "action": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "Create Or Update Resource Group",
                    "Select Resource Group",
                    "Start",
                    "Stop",
                    "StopWithDeallocate",
                    "Restart",
                    "Delete",
                    "DeleteRG"
                  ]
                },
                "resourceGroupName": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "location": {
                  "type": "string",
                  "description": "Location",
                  "ignoreCase": "key"
                },
                "templateLocation": {
                  "description": "Template location",
                  "ignoreCase": "all",
                  "enum": [
                    "Linked artifact",
                    "URL of the file"
                  ]
                },
                "csmFileLink": {
                  "type": "string",
                  "description": "Template link",
                  "ignoreCase": "key"
                },
                "csmParametersFileLink": {
                  "type": "string",
                  "description": "Template parameters link",
                  "ignoreCase": "key"
                },
                "csmFile": {
                  "type": "string",
                  "description": "Template",
                  "ignoreCase": "key"
                },
                "csmParametersFile": {
                  "type": "string",
                  "description": "Template parameters",
                  "ignoreCase": "key"
                },
                "overrideParameters": {
                  "type": "string",
                  "description": "Override template parameters",
                  "ignoreCase": "key"
                },
                "deploymentMode": {
                  "description": "Deployment mode",
                  "ignoreCase": "all",
                  "enum": [
                    "Incremental",
                    "Complete",
                    "Validation"
                  ]
                },
                "enableDeploymentPrerequisites": {
                  "description": "Enable prerequisites",
                  "ignoreCase": "all",
                  "enum": [
                    "None",
                    "ConfigureVMwithWinRM",
                    "ConfigureVMWithDGAgent"
                  ]
                },
                "teamServicesConnection": {
                  "type": "string",
                  "description": "Azure Pipelines service connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "deploymentGroupEndpoint"
                  ]
                },
                "teamProject": {
                  "type": "string",
                  "description": "Team project",
                  "ignoreCase": "key",
                  "aliases": [
                    "project"
                  ]
                },
                "deploymentGroupName": {
                  "type": "string",
                  "description": "Deployment Group",
                  "ignoreCase": "key"
                },
                "copyAzureVMTags": {
                  "type": "boolean",
                  "description": "Copy Azure VM tags to agents",
                  "ignoreCase": "key"
                },
                "runAgentServiceAsUser": {
                  "type": "boolean",
                  "description": "Run agent service as a user",
                  "ignoreCase": "key"
                },
                "userName": {
                  "type": "string",
                  "description": "User name",
                  "ignoreCase": "key"
                },
                "password": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "outputVariable": {
                  "type": "string",
                  "description": "VM details for WinRM",
                  "ignoreCase": "key"
                },
                "deploymentName": {
                  "type": "string",
                  "description": "Deployment name",
                  "ignoreCase": "key"
                },
                "deploymentOutputs": {
                  "type": "string",
                  "description": "Deployment outputs",
                  "ignoreCase": "key"
                },
                "addSpnToEnvironment": {
                  "type": "boolean",
                  "description": "Access service principal details in override parameters",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription",
                "resourceGroupName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Invoke REST API\n\nInvoke REST API as a part of your process.",
              "ignoreCase": "value",
              "pattern": "^InvokeRESTAPI@0$"
            },
            "inputs": {
              "description": "Invoke REST API inputs",
              "properties": {
                "serviceConnection": {
                  "type": "string",
                  "description": "Generic endpoint",
                  "ignoreCase": "key",
                  "aliases": [
                    "connectedServiceName"
                  ]
                },
                "method": {
                  "description": "Method",
                  "ignoreCase": "all",
                  "enum": [
                    "OPTIONS",
                    "GET",
                    "HEAD",
                    "POST",
                    "PUT",
                    "DELETE",
                    "TRACE",
                    "PATCH"
                  ]
                },
                "headers": {
                  "type": "string",
                  "description": "Headers",
                  "ignoreCase": "key"
                },
                "body": {
                  "type": "string",
                  "description": "Body",
                  "ignoreCase": "key"
                },
                "urlSuffix": {
                  "type": "string",
                  "description": "Url suffix string",
                  "ignoreCase": "key"
                },
                "waitForCompletion": {
                  "description": "Complete based on",
                  "ignoreCase": "all",
                  "enum": [
                    "true",
                    "false"
                  ]
                },
                "successCriteria": {
                  "type": "string",
                  "description": "Success criteria",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "serviceConnection"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Invoke REST API\n\nInvoke a REST API as a part of your pipeline.",
              "ignoreCase": "value",
              "pattern": "^InvokeRESTAPI@1$"
            },
            "inputs": {
              "description": "Invoke REST API inputs",
              "properties": {
                "connectionType": {
                  "description": "Connection type",
                  "ignoreCase": "all",
                  "enum": [
                    "connectedServiceName",
                    "connectedServiceNameARM"
                  ],
                  "aliases": [
                    "connectedServiceNameSelector"
                  ]
                },
                "serviceConnection": {
                  "type": "string",
                  "description": "Generic service connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "connectedServiceName",
                    "genericService"
                  ]
                },
                "azureServiceConnection": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "connectedServiceNameARM",
                    "azureSubscription"
                  ]
                },
                "method": {
                  "description": "Method",
                  "ignoreCase": "all",
                  "enum": [
                    "OPTIONS",
                    "GET",
                    "HEAD",
                    "POST",
                    "PUT",
                    "DELETE",
                    "TRACE",
                    "PATCH"
                  ]
                },
                "headers": {
                  "type": "string",
                  "description": "Headers",
                  "ignoreCase": "key"
                },
                "body": {
                  "type": "string",
                  "description": "Body",
                  "ignoreCase": "key"
                },
                "urlSuffix": {
                  "type": "string",
                  "description": "URL suffix and parameters",
                  "ignoreCase": "key"
                },
                "waitForCompletion": {
                  "description": "Completion event",
                  "ignoreCase": "all",
                  "enum": [
                    "true",
                    "false"
                  ]
                },
                "successCriteria": {
                  "type": "string",
                  "description": "Success criteria",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Archive Files\n\nArchive files using compression formats such as .7z, .rar, .tar.gz, and .zip.",
              "ignoreCase": "value",
              "pattern": "^ArchiveFiles@1$"
            },
            "inputs": {
              "description": "Archive Files inputs",
              "properties": {
                "rootFolder": {
                  "type": "string",
                  "description": "Root folder (or file) to archive",
                  "ignoreCase": "key"
                },
                "includeRootFolder": {
                  "type": "boolean",
                  "description": "Prefix root folder name to archive paths",
                  "ignoreCase": "key"
                },
                "archiveType": {
                  "description": "Archive type",
                  "ignoreCase": "all",
                  "enum": [
                    "default",
                    "7z",
                    "tar",
                    "wim"
                  ]
                },
                "tarCompression": {
                  "description": "Tar compression",
                  "ignoreCase": "all",
                  "enum": [
                    "gz",
                    "bz2",
                    "xz",
                    "none"
                  ]
                },
                "archiveFile": {
                  "type": "string",
                  "description": "Archive file to create",
                  "ignoreCase": "key"
                },
                "replaceExistingArchive": {
                  "type": "boolean",
                  "description": "Replace existing archive",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Archive files\n\nCompress files into .7z, .tar.gz, or .zip",
              "ignoreCase": "value",
              "pattern": "^ArchiveFiles@2$"
            },
            "inputs": {
              "description": "Archive files inputs",
              "properties": {
                "rootFolderOrFile": {
                  "type": "string",
                  "description": "Root folder or file to archive",
                  "ignoreCase": "key"
                },
                "includeRootFolder": {
                  "type": "boolean",
                  "description": "Prepend root folder name to archive paths",
                  "ignoreCase": "key"
                },
                "archiveType": {
                  "description": "Archive type",
                  "ignoreCase": "all",
                  "enum": [
                    "zip",
                    "7z",
                    "tar",
                    "wim"
                  ]
                },
                "sevenZipCompression": {
                  "description": "7z compression",
                  "ignoreCase": "all",
                  "enum": [
                    "ultra",
                    "maximum",
                    "normal",
                    "fast",
                    "fastest",
                    "none"
                  ]
                },
                "tarCompression": {
                  "description": "Tar compression",
                  "ignoreCase": "all",
                  "enum": [
                    "gz",
                    "bz2",
                    "xz",
                    "none"
                  ]
                },
                "archiveFile": {
                  "type": "string",
                  "description": "Archive file to create",
                  "ignoreCase": "key"
                },
                "replaceExistingArchive": {
                  "type": "boolean",
                  "description": "Replace existing archive",
                  "ignoreCase": "key"
                },
                "verbose": {
                  "type": "boolean",
                  "description": "Force verbose output",
                  "ignoreCase": "key"
                },
                "quiet": {
                  "type": "boolean",
                  "description": "Force quiet output",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "GitHub Comment\n\nWrite a comment to your Github entity i.e. issue or a Pull Request (PR)",
              "ignoreCase": "value",
              "pattern": "^GitHubComment@0$"
            },
            "inputs": {
              "description": "GitHub Comment inputs",
              "properties": {
                "gitHubConnection": {
                  "type": "string",
                  "description": "GitHub connection (OAuth or PAT)",
                  "ignoreCase": "key"
                },
                "repositoryName": {
                  "type": "string",
                  "description": "Repository",
                  "ignoreCase": "key"
                },
                "id": {
                  "type": "string",
                  "description": "ID of the github pr/issue",
                  "ignoreCase": "key"
                },
                "comment": {
                  "type": "string",
                  "description": "Comment",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "gitHubConnection"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Copy Files\n\nCopy files from source folder to target folder using minimatch patterns (The minimatch patterns will only match file paths, not folder paths)",
              "ignoreCase": "value",
              "pattern": "^CopyFiles@1$"
            },
            "inputs": {
              "description": "Copy Files inputs",
              "properties": {
                "SourceFolder": {
                  "type": "string",
                  "description": "Source Folder",
                  "ignoreCase": "key"
                },
                "Contents": {
                  "type": "string",
                  "description": "Contents",
                  "ignoreCase": "key"
                },
                "TargetFolder": {
                  "type": "string",
                  "description": "Target Folder",
                  "ignoreCase": "key"
                },
                "CleanTargetFolder": {
                  "type": "boolean",
                  "description": "Clean Target Folder",
                  "ignoreCase": "key"
                },
                "OverWrite": {
                  "type": "boolean",
                  "description": "Overwrite",
                  "ignoreCase": "key"
                },
                "flattenFolders": {
                  "type": "boolean",
                  "description": "Flatten Folders",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "TargetFolder"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Copy files\n\nCopy files from a source folder to a target folder using patterns matching file paths (not folder paths)",
              "ignoreCase": "value",
              "pattern": "^CopyFiles@2$"
            },
            "inputs": {
              "description": "Copy files inputs",
              "properties": {
                "SourceFolder": {
                  "type": "string",
                  "description": "Source Folder",
                  "ignoreCase": "key"
                },
                "Contents": {
                  "type": "string",
                  "description": "Contents",
                  "ignoreCase": "key"
                },
                "TargetFolder": {
                  "type": "string",
                  "description": "Target Folder",
                  "ignoreCase": "key"
                },
                "CleanTargetFolder": {
                  "type": "boolean",
                  "description": "Clean Target Folder",
                  "ignoreCase": "key"
                },
                "OverWrite": {
                  "type": "boolean",
                  "description": "Overwrite",
                  "ignoreCase": "key"
                },
                "flattenFolders": {
                  "type": "boolean",
                  "description": "Flatten Folders",
                  "ignoreCase": "key"
                },
                "preserveTimestamp": {
                  "type": "boolean",
                  "description": "Preserve Target Timestamp",
                  "ignoreCase": "key"
                },
                "retryCount": {
                  "type": "string",
                  "description": "Retry count to copy the file",
                  "ignoreCase": "key"
                },
                "delayBetweenRetries": {
                  "type": "string",
                  "description": "Delay between two retries.",
                  "ignoreCase": "key"
                },
                "ignoreMakeDirErrors": {
                  "type": "boolean",
                  "description": "Ignore errors during creation of target folder.",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "TargetFolder"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure Database for MySQL deployment\n\nRun your scripts and make changes to your Azure Database for MySQL",
              "ignoreCase": "value",
              "pattern": "^AzureMysqlDeployment@1$"
            },
            "inputs": {
              "description": "Azure Database for MySQL deployment inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure Subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "ServerName": {
                  "type": "string",
                  "description": "Host Name",
                  "ignoreCase": "key"
                },
                "DatabaseName": {
                  "type": "string",
                  "description": "Database Name",
                  "ignoreCase": "key"
                },
                "SqlUsername": {
                  "type": "string",
                  "description": "Server Admin Login",
                  "ignoreCase": "key"
                },
                "SqlPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "TaskNameSelector": {
                  "description": "Type",
                  "ignoreCase": "all",
                  "enum": [
                    "SqlTaskFile",
                    "InlineSqlTask"
                  ]
                },
                "SqlFile": {
                  "type": "string",
                  "description": "MySQL Script",
                  "ignoreCase": "key"
                },
                "SqlInline": {
                  "type": "string",
                  "description": "Inline MySQL Script",
                  "ignoreCase": "key"
                },
                "SqlAdditionalArguments": {
                  "type": "string",
                  "description": "Additional MySQL Arguments",
                  "ignoreCase": "key"
                },
                "IpDetectionMethod": {
                  "description": "Specify Firewall Rules Using",
                  "ignoreCase": "all",
                  "enum": [
                    "AutoDetect",
                    "IPAddressRange"
                  ]
                },
                "StartIpAddress": {
                  "type": "string",
                  "description": "Start IP Address",
                  "ignoreCase": "key"
                },
                "EndIpAddress": {
                  "type": "string",
                  "description": "End IP Address",
                  "ignoreCase": "key"
                },
                "DeleteFirewallRule": {
                  "type": "boolean",
                  "description": "Delete Rule After Task Ends",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription",
                "ServerName",
                "SqlUsername",
                "SqlPassword"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "npm\n\nRun an npm command. Use NpmAuthenticate@0 task for latest capabilities.",
              "ignoreCase": "value",
              "pattern": "^Npm@0$"
            },
            "inputs": {
              "description": "npm inputs",
              "properties": {
                "cwd": {
                  "type": "string",
                  "description": "working folder",
                  "ignoreCase": "key"
                },
                "command": {
                  "type": "string",
                  "description": "npm command",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "arguments",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "npm\n\nInstall and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Azure Artifacts.",
              "ignoreCase": "value",
              "pattern": "^Npm@1$"
            },
            "inputs": {
              "description": "npm inputs",
              "properties": {
                "command": {
                  "description": "Command",
                  "ignoreCase": "all",
                  "enum": [
                    "ci",
                    "install",
                    "publish",
                    "custom"
                  ]
                },
                "workingDir": {
                  "type": "string",
                  "description": "Working folder that contains package.json",
                  "ignoreCase": "key"
                },
                "verbose": {
                  "type": "boolean",
                  "description": "Verbose logging",
                  "ignoreCase": "key"
                },
                "customCommand": {
                  "type": "string",
                  "description": "Command and arguments",
                  "ignoreCase": "key"
                },
                "customRegistry": {
                  "description": "Registries to use",
                  "ignoreCase": "all",
                  "enum": [
                    "useNpmrc",
                    "useFeed"
                  ]
                },
                "customFeed": {
                  "type": "string",
                  "description": "Use packages from this Azure Artifacts/TFS registry",
                  "ignoreCase": "key"
                },
                "customEndpoint": {
                  "type": "string",
                  "description": "Credentials for registries outside this organization/collection",
                  "ignoreCase": "key"
                },
                "publishRegistry": {
                  "description": "Registry location",
                  "ignoreCase": "all",
                  "enum": [
                    "useExternalRegistry",
                    "useFeed"
                  ]
                },
                "publishFeed": {
                  "type": "string",
                  "description": "Target registry",
                  "ignoreCase": "key"
                },
                "publishPackageMetadata": {
                  "type": "boolean",
                  "description": "Publish pipeline metadata",
                  "ignoreCase": "key"
                },
                "publishEndpoint": {
                  "type": "string",
                  "description": "External Registry",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Deploy Azure Static Web App\n\n[PREVIEW] Build and deploy an Azure Static Web App",
              "ignoreCase": "value",
              "pattern": "^AzureStaticWebApp@0$"
            },
            "inputs": {
              "description": "Deploy Azure Static Web App inputs",
              "properties": {
                "workingDirectory": {
                  "type": "string",
                  "description": "Working directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd",
                    "rootDirectory"
                  ]
                },
                "app_location": {
                  "type": "string",
                  "description": "App location",
                  "ignoreCase": "key"
                },
                "app_build_command": {
                  "type": "string",
                  "description": "App build command",
                  "ignoreCase": "key"
                },
                "output_location": {
                  "type": "string",
                  "description": "Output location",
                  "ignoreCase": "key"
                },
                "api_location": {
                  "type": "string",
                  "description": "Api location",
                  "ignoreCase": "key"
                },
                "api_build_command": {
                  "type": "string",
                  "description": "Api build command",
                  "ignoreCase": "key"
                },
                "routes_location": {
                  "type": "string",
                  "description": "Routes location",
                  "ignoreCase": "key"
                },
                "config_file_location": {
                  "type": "string",
                  "description": "Config file location",
                  "ignoreCase": "key"
                },
                "skip_app_build": {
                  "type": "boolean",
                  "description": "Skip app build",
                  "ignoreCase": "key"
                },
                "skip_api_build": {
                  "type": "boolean",
                  "description": "Skip api build",
                  "ignoreCase": "key"
                },
                "is_static_export": {
                  "type": "boolean",
                  "description": "Set static export",
                  "ignoreCase": "key"
                },
                "verbose": {
                  "type": "boolean",
                  "description": "Verbose",
                  "ignoreCase": "key"
                },
                "build_timeout_in_minutes": {
                  "type": "integer",
                  "description": "Build timeout in minutes",
                  "ignoreCase": "key"
                },
                "azure_static_web_apps_api_token": {
                  "type": "string",
                  "description": "Azure Static Web Apps api token",
                  "ignoreCase": "key"
                },
                "deployment_environment": {
                  "type": "string",
                  "description": "Deployment Environment",
                  "ignoreCase": "key"
                },
                "production_branch": {
                  "type": "string",
                  "description": "Production Branch",
                  "ignoreCase": "key"
                },
                "data_api_location": {
                  "type": "string",
                  "description": "Data api location",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Node.js tool installer\n\nFinds or downloads and caches the specified version spec of Node.js and adds it to the PATH",
              "ignoreCase": "value",
              "pattern": "^NodeTool@0$"
            },
            "inputs": {
              "description": "Node.js tool installer inputs",
              "properties": {
                "versionSource": {
                  "description": "Source of version",
                  "ignoreCase": "all",
                  "enum": [
                    "spec",
                    "fromFile"
                  ]
                },
                "versionSpec": {
                  "type": "string",
                  "description": "Version Spec",
                  "ignoreCase": "key"
                },
                "versionFilePath": {
                  "type": "string",
                  "description": "Path to the .nvmrc file",
                  "ignoreCase": "key"
                },
                "checkLatest": {
                  "type": "boolean",
                  "description": "Check for Latest Version",
                  "ignoreCase": "key"
                },
                "force32bit": {
                  "type": "boolean",
                  "description": "Use 32 bit version on x64 agents",
                  "ignoreCase": "key"
                },
                "nodejsMirror": {
                  "type": "string",
                  "description": "Set source for Node.js binaries",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Use Node.js ecosystem\n\nSet up a Node.js environment and add it to the PATH, additionally providing proxy support",
              "ignoreCase": "value",
              "pattern": "^UseNode@1$"
            },
            "inputs": {
              "description": "Use Node.js ecosystem inputs",
              "properties": {
                "version": {
                  "type": "string",
                  "description": "Version",
                  "ignoreCase": "key"
                },
                "checkLatest": {
                  "type": "boolean",
                  "description": "Check for Latest Version",
                  "ignoreCase": "key"
                },
                "force32bit": {
                  "type": "boolean",
                  "description": "Use 32 bit version on x64 agents",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "[Deprecated] SQL Server database deploy\n\nDeploy a SQL Server database using DACPAC",
              "ignoreCase": "value",
              "pattern": "^SqlServerDacpacDeployment@1$"
            },
            "inputs": {
              "description": "[Deprecated] SQL Server database deploy inputs",
              "properties": {
                "EnvironmentName": {
                  "type": "string",
                  "description": "Machines",
                  "ignoreCase": "key"
                },
                "AdminUserName": {
                  "type": "string",
                  "description": "Admin Login",
                  "ignoreCase": "key"
                },
                "AdminPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "Protocol": {
                  "description": "Protocol",
                  "ignoreCase": "all",
                  "enum": [
                    "Http",
                    "Https"
                  ]
                },
                "TestCertificate": {
                  "type": "boolean",
                  "description": "Test Certificate",
                  "ignoreCase": "key"
                },
                "DacpacFile": {
                  "type": "string",
                  "description": "DACPAC File",
                  "ignoreCase": "key"
                },
                "TargetMethod": {
                  "description": "Specify SQL Using",
                  "ignoreCase": "all",
                  "enum": [
                    "server",
                    "connectionString",
                    "publishProfile"
                  ]
                },
                "ServerName": {
                  "type": "string",
                  "description": "Server Name",
                  "ignoreCase": "key"
                },
                "DatabaseName": {
                  "type": "string",
                  "description": "Database Name",
                  "ignoreCase": "key"
                },
                "SqlUsername": {
                  "type": "string",
                  "description": "SQL Username",
                  "ignoreCase": "key"
                },
                "SqlPassword": {
                  "type": "string",
                  "description": "SQL Password",
                  "ignoreCase": "key"
                },
                "ConnectionString": {
                  "type": "string",
                  "description": "Connection String",
                  "ignoreCase": "key"
                },
                "PublishProfile": {
                  "type": "string",
                  "description": "Publish Profile",
                  "ignoreCase": "key"
                },
                "AdditionalArguments": {
                  "type": "string",
                  "description": "Additional Arguments",
                  "ignoreCase": "key"
                },
                "DeployInParallel": {
                  "type": "boolean",
                  "description": "Deploy in Parallel",
                  "ignoreCase": "key"
                },
                "ResourceFilteringMethod": {
                  "description": "Select Machines By",
                  "ignoreCase": "all",
                  "enum": [
                    "machineNames",
                    "tags"
                  ]
                },
                "MachineFilter": {
                  "type": "string",
                  "description": "Deploy to Machines",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "EnvironmentName",
                "DacpacFile"
              ]
            }
          },
          "deprecationMessage": "SqlServerDacpacDeployment is deprecated - Deploy a SQL Server database using DACPAC",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Visual Studio test platform installer\n\nAcquire the test platform from nuget.org or the tool cache. Satisfies the ‘vstest’ demand and can be used for running tests and collecting diagnostic data using the Visual Studio Test task.",
              "ignoreCase": "value",
              "pattern": "^VisualStudioTestPlatformInstaller@1$"
            },
            "inputs": {
              "description": "Visual Studio test platform installer inputs",
              "properties": {
                "packageFeedSelector": {
                  "description": "Package Feed",
                  "ignoreCase": "all",
                  "enum": [
                    "nugetOrg",
                    "customFeed",
                    "netShare"
                  ]
                },
                "versionSelector": {
                  "description": "Version",
                  "ignoreCase": "all",
                  "enum": [
                    "latestPreRelease",
                    "latestStable",
                    "specificVersion"
                  ]
                },
                "testPlatformVersion": {
                  "type": "string",
                  "description": "Test Platform Version",
                  "ignoreCase": "key"
                },
                "customFeed": {
                  "type": "string",
                  "description": "Package Source",
                  "ignoreCase": "key"
                },
                "username": {
                  "type": "string",
                  "description": "User Name",
                  "ignoreCase": "key"
                },
                "password": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "netShare": {
                  "type": "string",
                  "description": "UNC Path",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Publish To Azure Service Bus\n\nSends a message to Azure Service Bus using a service connection (no agent is required)",
              "ignoreCase": "value",
              "pattern": "^PublishToAzureServiceBus@1$"
            },
            "inputs": {
              "description": "Publish To Azure Service Bus inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure Service Bus service connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "connectedServiceName"
                  ]
                },
                "messageBody": {
                  "type": "string",
                  "description": "Message body",
                  "ignoreCase": "key"
                },
                "sessionId": {
                  "type": "string",
                  "description": "Session Id",
                  "ignoreCase": "key"
                },
                "signPayload": {
                  "type": "boolean",
                  "description": "Sign the Message",
                  "ignoreCase": "key"
                },
                "certificateString": {
                  "type": "string",
                  "description": "Certificate Variable",
                  "ignoreCase": "key"
                },
                "signatureKey": {
                  "type": "string",
                  "description": "Signature Property Key",
                  "ignoreCase": "key"
                },
                "waitForCompletion": {
                  "type": "boolean",
                  "description": "Wait for task completion",
                  "ignoreCase": "key"
                },
                "useDataContractSerializer": {
                  "type": "boolean",
                  "description": "Use .NET data contract serailizer",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Publish To Azure Service Bus\n\nSends a message to azure service bus using a service connection (no agent required).",
              "ignoreCase": "value",
              "pattern": "^PublishToAzureServiceBus@0$"
            },
            "inputs": {
              "description": "Publish To Azure Service Bus inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure service bus connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "connectedServiceName"
                  ]
                },
                "messageBody": {
                  "type": "string",
                  "description": "Message body",
                  "ignoreCase": "key"
                },
                "waitForCompletion": {
                  "type": "boolean",
                  "description": "Wait for task completion",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Deploy to Kubernetes\n\nUse Kubernetes manifest files to deploy to clusters or even bake the manifest files to be used for deployments using Helm charts",
              "ignoreCase": "value",
              "pattern": "^KubernetesManifest@0$"
            },
            "inputs": {
              "description": "Deploy to Kubernetes inputs",
              "properties": {
                "action": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "bake",
                    "createSecret",
                    "delete",
                    "deploy",
                    "patch",
                    "promote",
                    "scale",
                    "reject"
                  ]
                },
                "kubernetesServiceConnection": {
                  "type": "string",
                  "description": "Kubernetes service connection",
                  "ignoreCase": "key"
                },
                "namespace": {
                  "type": "string",
                  "description": "Namespace",
                  "ignoreCase": "key"
                },
                "strategy": {
                  "description": "Strategy",
                  "ignoreCase": "all",
                  "enum": [
                    "canary",
                    "none"
                  ]
                },
                "trafficSplitMethod": {
                  "description": "Traffic split method",
                  "ignoreCase": "all",
                  "enum": [
                    "pod",
                    "smi"
                  ]
                },
                "percentage": {
                  "type": "string",
                  "description": "Percentage",
                  "ignoreCase": "key"
                },
                "baselineAndCanaryReplicas": {
                  "type": "string",
                  "description": "Baseline and canary replicas",
                  "ignoreCase": "key"
                },
                "manifests": {
                  "type": "string",
                  "description": "Manifests",
                  "ignoreCase": "key"
                },
                "containers": {
                  "type": "string",
                  "description": "Containers",
                  "ignoreCase": "key"
                },
                "imagePullSecrets": {
                  "type": "string",
                  "description": "ImagePullSecrets",
                  "ignoreCase": "key"
                },
                "renderType": {
                  "description": "Render Engine",
                  "ignoreCase": "all",
                  "enum": [
                    "helm",
                    "kompose",
                    "kustomize"
                  ]
                },
                "dockerComposeFile": {
                  "type": "string",
                  "description": "Path to docker compose file",
                  "ignoreCase": "key"
                },
                "helmChart": {
                  "type": "string",
                  "description": "Helm Chart",
                  "ignoreCase": "key"
                },
                "releaseName": {
                  "type": "string",
                  "description": "Helm Release Name",
                  "ignoreCase": "key"
                },
                "overrideFiles": {
                  "type": "string",
                  "description": "Override Files",
                  "ignoreCase": "key"
                },
                "overrides": {
                  "type": "string",
                  "description": "Overrides",
                  "ignoreCase": "key"
                },
                "kustomizationPath": {
                  "type": "string",
                  "description": "Kustomization Path",
                  "ignoreCase": "key"
                },
                "resourceToPatch": {
                  "description": "Resource to patch",
                  "ignoreCase": "all",
                  "enum": [
                    "file",
                    "name"
                  ]
                },
                "resourceFileToPatch": {
                  "type": "string",
                  "description": "File path",
                  "ignoreCase": "key"
                },
                "kind": {
                  "description": "Kind",
                  "ignoreCase": "all",
                  "enum": [
                    "deployment",
                    "replicaset",
                    "statefulset"
                  ]
                },
                "name": {
                  "type": "string",
                  "description": "Name",
                  "ignoreCase": "key"
                },
                "replicas": {
                  "type": "string",
                  "description": "Replica count",
                  "ignoreCase": "key"
                },
                "mergeStrategy": {
                  "description": "Merge Strategy",
                  "ignoreCase": "all",
                  "enum": [
                    "json",
                    "merge",
                    "strategic"
                  ]
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "patch": {
                  "type": "string",
                  "description": "Patch",
                  "ignoreCase": "key"
                },
                "secretType": {
                  "description": "Type of secret",
                  "ignoreCase": "all",
                  "enum": [
                    "dockerRegistry",
                    "generic"
                  ]
                },
                "secretName": {
                  "type": "string",
                  "description": "Secret name",
                  "ignoreCase": "key"
                },
                "secretArguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "dockerRegistryEndpoint": {
                  "type": "string",
                  "description": "Docker registry service connection",
                  "ignoreCase": "key"
                },
                "rolloutStatusTimeout": {
                  "type": "string",
                  "description": "Timeout for rollout status",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Deploy to Kubernetes\n\nUse Kubernetes manifest files to deploy to clusters or even bake the manifest files to be used for deployments using Helm charts",
              "ignoreCase": "value",
              "pattern": "^KubernetesManifest@1$"
            },
            "inputs": {
              "description": "Deploy to Kubernetes inputs",
              "properties": {
                "action": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "bake",
                    "createSecret",
                    "delete",
                    "deploy",
                    "patch",
                    "promote",
                    "scale",
                    "reject"
                  ]
                },
                "connectionType": {
                  "description": "Service connection type",
                  "ignoreCase": "all",
                  "enum": [
                    "azureResourceManager",
                    "kubernetesServiceConnection"
                  ]
                },
                "kubernetesServiceConnection": {
                  "type": "string",
                  "description": "Kubernetes service connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "kubernetesServiceEndpoint"
                  ]
                },
                "azureSubscriptionConnection": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "azureSubscriptionEndpoint"
                  ]
                },
                "azureResourceGroup": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "kubernetesCluster": {
                  "type": "string",
                  "description": "Kubernetes cluster",
                  "ignoreCase": "key"
                },
                "namespace": {
                  "type": "string",
                  "description": "Namespace",
                  "ignoreCase": "key"
                },
                "strategy": {
                  "description": "Strategy",
                  "ignoreCase": "all",
                  "enum": [
                    "canary",
                    "none"
                  ]
                },
                "trafficSplitMethod": {
                  "description": "Traffic split method",
                  "ignoreCase": "all",
                  "enum": [
                    "pod",
                    "smi"
                  ]
                },
                "percentage": {
                  "type": "string",
                  "description": "Percentage",
                  "ignoreCase": "key"
                },
                "baselineAndCanaryReplicas": {
                  "type": "string",
                  "description": "Baseline and canary replicas",
                  "ignoreCase": "key"
                },
                "manifests": {
                  "type": "string",
                  "description": "Manifests",
                  "ignoreCase": "key"
                },
                "containers": {
                  "type": "string",
                  "description": "Containers",
                  "ignoreCase": "key"
                },
                "imagePullSecrets": {
                  "type": "string",
                  "description": "ImagePullSecrets",
                  "ignoreCase": "key"
                },
                "renderType": {
                  "description": "Render Engine",
                  "ignoreCase": "all",
                  "enum": [
                    "helm",
                    "kompose",
                    "kustomize"
                  ]
                },
                "dockerComposeFile": {
                  "type": "string",
                  "description": "Path to docker compose file",
                  "ignoreCase": "key"
                },
                "helmChart": {
                  "type": "string",
                  "description": "Helm Chart",
                  "ignoreCase": "key"
                },
                "releaseName": {
                  "type": "string",
                  "description": "Helm Release Name",
                  "ignoreCase": "key"
                },
                "overrideFiles": {
                  "type": "string",
                  "description": "Override Files",
                  "ignoreCase": "key"
                },
                "overrides": {
                  "type": "string",
                  "description": "Overrides",
                  "ignoreCase": "key"
                },
                "kustomizationPath": {
                  "type": "string",
                  "description": "Kustomization Path",
                  "ignoreCase": "key"
                },
                "resourceToPatch": {
                  "description": "Resource to patch",
                  "ignoreCase": "all",
                  "enum": [
                    "file",
                    "name"
                  ]
                },
                "resourceFileToPatch": {
                  "type": "string",
                  "description": "File path",
                  "ignoreCase": "key"
                },
                "kind": {
                  "description": "Kind",
                  "ignoreCase": "all",
                  "enum": [
                    "deployment",
                    "replicaset",
                    "statefulset"
                  ]
                },
                "name": {
                  "type": "string",
                  "description": "Name",
                  "ignoreCase": "key"
                },
                "replicas": {
                  "type": "string",
                  "description": "Replica count",
                  "ignoreCase": "key"
                },
                "mergeStrategy": {
                  "description": "Merge Strategy",
                  "ignoreCase": "all",
                  "enum": [
                    "json",
                    "merge",
                    "strategic"
                  ]
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "patch": {
                  "type": "string",
                  "description": "Patch",
                  "ignoreCase": "key"
                },
                "secretType": {
                  "description": "Type of secret",
                  "ignoreCase": "all",
                  "enum": [
                    "dockerRegistry",
                    "generic"
                  ]
                },
                "secretName": {
                  "type": "string",
                  "description": "Secret name",
                  "ignoreCase": "key"
                },
                "secretArguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "dockerRegistryEndpoint": {
                  "type": "string",
                  "description": "Docker registry service connection",
                  "ignoreCase": "key"
                },
                "rolloutStatusTimeout": {
                  "type": "string",
                  "description": "Timeout for rollout status",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Download build artifacts\n\nDownload files that were saved as artifacts of a completed build",
              "ignoreCase": "value",
              "pattern": "^DownloadBuildArtifacts@0$"
            },
            "inputs": {
              "description": "Download build artifacts inputs",
              "properties": {
                "buildType": {
                  "description": "Download artifacts produced by",
                  "ignoreCase": "all",
                  "enum": [
                    "current",
                    "specific"
                  ]
                },
                "project": {
                  "type": "string",
                  "description": "Project",
                  "ignoreCase": "key"
                },
                "pipeline": {
                  "type": "string",
                  "description": "Build pipeline",
                  "ignoreCase": "key",
                  "aliases": [
                    "definition"
                  ]
                },
                "specificBuildWithTriggering": {
                  "type": "boolean",
                  "description": "When appropriate, download artifacts from the triggering build.",
                  "ignoreCase": "key"
                },
                "buildVersionToDownload": {
                  "description": "Build version to download",
                  "ignoreCase": "all",
                  "enum": [
                    "latest",
                    "latestFromBranch",
                    "specific"
                  ]
                },
                "allowPartiallySucceededBuilds": {
                  "type": "boolean",
                  "description": "Download artifacts even from partially succeeded builds.",
                  "ignoreCase": "key"
                },
                "branchName": {
                  "type": "string",
                  "description": "Branch name",
                  "ignoreCase": "key"
                },
                "buildId": {
                  "type": "string",
                  "description": "Build",
                  "ignoreCase": "key"
                },
                "tags": {
                  "type": "string",
                  "description": "Build Tags",
                  "ignoreCase": "key"
                },
                "downloadType": {
                  "description": "Download type",
                  "ignoreCase": "all",
                  "enum": [
                    "single",
                    "specific"
                  ]
                },
                "artifactName": {
                  "type": "string",
                  "description": "Artifact name",
                  "ignoreCase": "key"
                },
                "itemPattern": {
                  "type": "string",
                  "description": "Matching pattern",
                  "ignoreCase": "key"
                },
                "downloadPath": {
                  "type": "string",
                  "description": "Destination directory",
                  "ignoreCase": "key"
                },
                "cleanDestinationFolder": {
                  "type": "boolean",
                  "description": "Clean destination folder",
                  "ignoreCase": "key"
                },
                "parallelizationLimit": {
                  "type": "string",
                  "description": "Parallelization limit",
                  "ignoreCase": "key"
                },
                "checkDownloadedFiles": {
                  "type": "boolean",
                  "description": "Check downloaded files",
                  "ignoreCase": "key"
                },
                "retryDownloadCount": {
                  "type": "string",
                  "description": "Retry count",
                  "ignoreCase": "key"
                },
                "extractTars": {
                  "type": "boolean",
                  "description": "Extract all files that are stored inside tar archives",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Download build artifacts\n\nDownload files that were saved as artifacts of a completed build",
              "ignoreCase": "value",
              "pattern": "^DownloadBuildArtifacts@1$"
            },
            "inputs": {
              "description": "Download build artifacts inputs",
              "properties": {
                "buildType": {
                  "description": "Download artifacts produced by",
                  "ignoreCase": "all",
                  "enum": [
                    "current",
                    "specific"
                  ]
                },
                "project": {
                  "type": "string",
                  "description": "Project",
                  "ignoreCase": "key"
                },
                "pipeline": {
                  "type": "string",
                  "description": "Build pipeline",
                  "ignoreCase": "key",
                  "aliases": [
                    "definition"
                  ]
                },
                "specificBuildWithTriggering": {
                  "type": "boolean",
                  "description": "When appropriate, download artifacts from the triggering build.",
                  "ignoreCase": "key"
                },
                "buildVersionToDownload": {
                  "description": "Build version to download",
                  "ignoreCase": "all",
                  "enum": [
                    "latest",
                    "latestFromBranch",
                    "specific"
                  ]
                },
                "allowPartiallySucceededBuilds": {
                  "type": "boolean",
                  "description": "Download artifacts even from partially succeeded builds.",
                  "ignoreCase": "key"
                },
                "branchName": {
                  "type": "string",
                  "description": "Branch name",
                  "ignoreCase": "key"
                },
                "buildId": {
                  "type": "string",
                  "description": "Build",
                  "ignoreCase": "key"
                },
                "tags": {
                  "type": "string",
                  "description": "Build Tags",
                  "ignoreCase": "key"
                },
                "downloadType": {
                  "description": "Download type",
                  "ignoreCase": "all",
                  "enum": [
                    "single",
                    "specific"
                  ]
                },
                "artifactName": {
                  "type": "string",
                  "description": "Artifact name",
                  "ignoreCase": "key"
                },
                "itemPattern": {
                  "type": "string",
                  "description": "Matching pattern",
                  "ignoreCase": "key"
                },
                "downloadPath": {
                  "type": "string",
                  "description": "Destination directory",
                  "ignoreCase": "key"
                },
                "cleanDestinationFolder": {
                  "type": "boolean",
                  "description": "Clean destination folder",
                  "ignoreCase": "key"
                },
                "parallelizationLimit": {
                  "type": "string",
                  "description": "Parallelization limit",
                  "ignoreCase": "key"
                },
                "checkDownloadedFiles": {
                  "type": "boolean",
                  "description": "Check downloaded files",
                  "ignoreCase": "key"
                },
                "retryDownloadCount": {
                  "type": "string",
                  "description": "Retry count",
                  "ignoreCase": "key"
                },
                "extractTars": {
                  "type": "boolean",
                  "description": "Extract all files that are stored inside tar archives",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "CocoaPods\n\nInstall CocoaPods dependencies for Swift and Objective-C Cocoa projects",
              "ignoreCase": "value",
              "pattern": "^CocoaPods@0$"
            },
            "inputs": {
              "description": "CocoaPods inputs",
              "properties": {
                "workingDirectory": {
                  "type": "string",
                  "description": "Working directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "forceRepoUpdate": {
                  "type": "boolean",
                  "description": "Force repo update",
                  "ignoreCase": "key"
                },
                "projectDirectory": {
                  "type": "string",
                  "description": "Project directory",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure Spring Cloud\n\nDeploy applications to Azure Spring Cloud and manage deployments.",
              "ignoreCase": "value",
              "pattern": "^AzureSpringCloud@0$"
            },
            "inputs": {
              "description": "Azure Spring Cloud inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "Action": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "Deploy",
                    "Set Production",
                    "Delete Staging Deployment"
                  ]
                },
                "AzureSpringCloud": {
                  "type": "string",
                  "description": "Azure Spring Cloud Name",
                  "ignoreCase": "key"
                },
                "AppName": {
                  "type": "string",
                  "description": "App",
                  "ignoreCase": "key"
                },
                "DeploymentType": {
                  "description": "Deployment Type",
                  "ignoreCase": "all",
                  "enum": [
                    "Artifacts",
                    "CustomContainer"
                  ]
                },
                "UseStagingDeployment": {
                  "type": "boolean",
                  "description": "Use Staging Deployment",
                  "ignoreCase": "key"
                },
                "CreateNewDeployment": {
                  "type": "boolean",
                  "description": "Create a new staging deployment if one does not exist.",
                  "ignoreCase": "key"
                },
                "DeploymentName": {
                  "type": "string",
                  "description": "Deployment",
                  "ignoreCase": "key"
                },
                "Package": {
                  "type": "string",
                  "description": "Package or folder",
                  "ignoreCase": "key"
                },
                "Builder": {
                  "type": "string",
                  "description": "Builder",
                  "ignoreCase": "key"
                },
                "RegistryServer": {
                  "type": "string",
                  "description": "Registry Server",
                  "ignoreCase": "key"
                },
                "RegistryUsername": {
                  "type": "string",
                  "description": "Registry Username",
                  "ignoreCase": "key"
                },
                "RegistryPassword": {
                  "type": "string",
                  "description": "Registry Password",
                  "ignoreCase": "key"
                },
                "ImageName": {
                  "type": "string",
                  "description": "Image Name and Tag",
                  "ignoreCase": "key"
                },
                "ImageCommand": {
                  "type": "string",
                  "description": "Image Command",
                  "ignoreCase": "key"
                },
                "ImageArgs": {
                  "type": "string",
                  "description": "Image Arguments",
                  "ignoreCase": "key"
                },
                "ImageLanguageFramework": {
                  "description": "Language Framework",
                  "ignoreCase": "all",
                  "enum": [
                    "springboot",
                    ""
                  ]
                },
                "EnvironmentVariables": {
                  "type": "string",
                  "description": "Environment Variables",
                  "ignoreCase": "key"
                },
                "JvmOptions": {
                  "type": "string",
                  "description": "JVM Options",
                  "ignoreCase": "key"
                },
                "RuntimeVersion": {
                  "description": "Runtime Version",
                  "ignoreCase": "all",
                  "enum": [
                    "Java_8",
                    "Java_11",
                    "NetCore_31"
                  ]
                },
                "DotNetCoreMainEntryPath": {
                  "type": "string",
                  "description": "Main Entry Path",
                  "ignoreCase": "key"
                },
                "Version": {
                  "type": "string",
                  "description": "Version",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription",
                "AzureSpringCloud",
                "AppName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure Web App\n\nDeploy an Azure Web App for Linux or Windows",
              "ignoreCase": "value",
              "pattern": "^AzureWebApp@1$"
            },
            "inputs": {
              "description": "Azure Web App inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key"
                },
                "appType": {
                  "description": "App type",
                  "ignoreCase": "all",
                  "enum": [
                    "webApp",
                    "webAppLinux"
                  ]
                },
                "appName": {
                  "type": "string",
                  "description": "App name",
                  "ignoreCase": "key"
                },
                "deployToSlotOrASE": {
                  "type": "boolean",
                  "description": "Deploy to Slot or App Service Environment",
                  "ignoreCase": "key"
                },
                "resourceGroupName": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "slotName": {
                  "type": "string",
                  "description": "Slot",
                  "ignoreCase": "key"
                },
                "package": {
                  "type": "string",
                  "description": "Package or folder",
                  "ignoreCase": "key"
                },
                "customDeployFolder": {
                  "type": "string",
                  "description": "Custom Deploy Folder",
                  "ignoreCase": "key"
                },
                "runtimeStack": {
                  "type": "string",
                  "description": "Runtime stack",
                  "ignoreCase": "key"
                },
                "startUpCommand": {
                  "type": "string",
                  "description": "Startup command ",
                  "ignoreCase": "key"
                },
                "customWebConfig": {
                  "type": "string",
                  "description": "Generate web.config parameters for Python, Node.js, Go and Java apps",
                  "ignoreCase": "key"
                },
                "appSettings": {
                  "type": "string",
                  "description": "App settings",
                  "ignoreCase": "key"
                },
                "configurationStrings": {
                  "type": "string",
                  "description": "Configuration settings",
                  "ignoreCase": "key"
                },
                "deploymentMethod": {
                  "description": "Deployment method",
                  "ignoreCase": "all",
                  "enum": [
                    "auto",
                    "zipDeploy",
                    "runFromPackage"
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription",
                "appType",
                "appName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure CLI\n\nRun Azure CLI commands against an Azure subscription in a Shell script when running on Linux agent or Batch script when running on Windows agent.",
              "ignoreCase": "value",
              "pattern": "^AzureCLI@1$"
            },
            "inputs": {
              "description": "Azure CLI inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "connectedServiceNameARM"
                  ]
                },
                "scriptLocation": {
                  "description": "Script Location",
                  "ignoreCase": "all",
                  "enum": [
                    "inlineScript",
                    "scriptPath"
                  ]
                },
                "scriptPath": {
                  "type": "string",
                  "description": "Script Path",
                  "ignoreCase": "key"
                },
                "inlineScript": {
                  "type": "string",
                  "description": "Inline Script",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key",
                  "aliases": [
                    "args"
                  ]
                },
                "addSpnToEnvironment": {
                  "type": "boolean",
                  "description": "Access service principal details in script",
                  "ignoreCase": "key"
                },
                "useGlobalConfig": {
                  "type": "boolean",
                  "description": "Use global Azure CLI configuration",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "failOnStandardError": {
                  "type": "boolean",
                  "description": "Fail on Standard Error",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure CLI Preview\n\nRun a Shell or Batch script with Azure CLI commands against an azure subscription",
              "ignoreCase": "value",
              "pattern": "^AzureCLI@0$"
            },
            "inputs": {
              "description": "Azure CLI Preview inputs",
              "properties": {
                "connectedServiceNameSelector": {
                  "description": "Azure Connection Type",
                  "ignoreCase": "all",
                  "enum": [
                    "connectedServiceName",
                    "connectedServiceNameARM"
                  ]
                },
                "connectedServiceNameARM": {
                  "type": "string",
                  "description": "AzureRM Subscription",
                  "ignoreCase": "key"
                },
                "connectedServiceName": {
                  "type": "string",
                  "description": "Azure Classic Subscription",
                  "ignoreCase": "key"
                },
                "scriptLocation": {
                  "description": "Script Location",
                  "ignoreCase": "all",
                  "enum": [
                    "inlineScript",
                    "scriptPath"
                  ]
                },
                "scriptPath": {
                  "type": "string",
                  "description": "Script Path",
                  "ignoreCase": "key"
                },
                "inlineScript": {
                  "type": "string",
                  "description": "Inline Script",
                  "ignoreCase": "key"
                },
                "args": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "cwd": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key"
                },
                "failOnStandardError": {
                  "type": "boolean",
                  "description": "Fail on Standard Error",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure CLI\n\nRun Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/PowerShell Core/Batch script when running on Windows agent.",
              "ignoreCase": "value",
              "pattern": "^AzureCLI@2$"
            },
            "inputs": {
              "description": "Azure CLI inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure Resource Manager connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "connectedServiceNameARM"
                  ]
                },
                "scriptType": {
                  "description": "Script Type",
                  "ignoreCase": "all",
                  "enum": [
                    "ps",
                    "pscore",
                    "batch",
                    "bash"
                  ]
                },
                "scriptLocation": {
                  "description": "Script Location",
                  "ignoreCase": "all",
                  "enum": [
                    "inlineScript",
                    "scriptPath"
                  ]
                },
                "scriptPath": {
                  "type": "string",
                  "description": "Script Path",
                  "ignoreCase": "key"
                },
                "inlineScript": {
                  "type": "string",
                  "description": "Inline Script",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Script Arguments",
                  "ignoreCase": "key",
                  "aliases": [
                    "scriptArguments"
                  ]
                },
                "powerShellErrorActionPreference": {
                  "description": "ErrorActionPreference",
                  "ignoreCase": "all",
                  "enum": [
                    "stop",
                    "continue",
                    "silentlyContinue"
                  ]
                },
                "addSpnToEnvironment": {
                  "type": "boolean",
                  "description": "Access service principal details in script",
                  "ignoreCase": "key"
                },
                "useGlobalConfig": {
                  "type": "boolean",
                  "description": "Use global Azure CLI configuration",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "failOnStandardError": {
                  "type": "boolean",
                  "description": "Fail on Standard Error",
                  "ignoreCase": "key"
                },
                "powerShellIgnoreLASTEXITCODE": {
                  "type": "boolean",
                  "description": "Ignore $LASTEXITCODE",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription",
                "scriptType"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "GitHub Release\n\nCreate, edit, or delete a GitHub release",
              "ignoreCase": "value",
              "pattern": "^GitHubRelease@1$"
            },
            "inputs": {
              "description": "GitHub Release inputs",
              "properties": {
                "gitHubConnection": {
                  "type": "string",
                  "description": "GitHub connection (OAuth or PAT)",
                  "ignoreCase": "key"
                },
                "repositoryName": {
                  "type": "string",
                  "description": "Repository",
                  "ignoreCase": "key"
                },
                "action": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "create",
                    "edit",
                    "delete"
                  ]
                },
                "target": {
                  "type": "string",
                  "description": "Target",
                  "ignoreCase": "key"
                },
                "tagSource": {
                  "description": "Tag source",
                  "ignoreCase": "all",
                  "enum": [
                    "gitTag",
                    "userSpecifiedTag"
                  ]
                },
                "tagPattern": {
                  "type": "string",
                  "description": "Tag Pattern",
                  "ignoreCase": "key"
                },
                "tag": {
                  "type": "string",
                  "description": "Tag",
                  "ignoreCase": "key"
                },
                "title": {
                  "type": "string",
                  "description": "Release title",
                  "ignoreCase": "key"
                },
                "releaseNotesSource": {
                  "description": "Release notes source",
                  "ignoreCase": "all",
                  "enum": [
                    "filePath",
                    "inline"
                  ]
                },
                "releaseNotesFilePath": {
                  "type": "string",
                  "description": "Release notes file path",
                  "ignoreCase": "key"
                },
                "releaseNotesInline": {
                  "type": "string",
                  "description": "Release notes",
                  "ignoreCase": "key"
                },
                "assets": {
                  "type": "string",
                  "description": "Assets",
                  "ignoreCase": "key"
                },
                "assetUploadMode": {
                  "description": "Asset upload mode",
                  "ignoreCase": "all",
                  "enum": [
                    "delete",
                    "replace"
                  ]
                },
                "isDraft": {
                  "type": "boolean",
                  "description": "Draft release",
                  "ignoreCase": "key"
                },
                "isPreRelease": {
                  "type": "boolean",
                  "description": "Pre-release",
                  "ignoreCase": "key"
                },
                "addChangeLog": {
                  "type": "boolean",
                  "description": "Add changelog",
                  "ignoreCase": "key"
                },
                "changeLogCompareToRelease": {
                  "description": "Compare to",
                  "ignoreCase": "all",
                  "enum": [
                    "lastFullRelease",
                    "lastNonDraftRelease",
                    "lastNonDraftReleaseByTag"
                  ]
                },
                "changeLogCompareToReleaseTag": {
                  "type": "string",
                  "description": "Release Tag",
                  "ignoreCase": "key"
                },
                "changeLogType": {
                  "description": "Changelog type",
                  "ignoreCase": "all",
                  "enum": [
                    "commitBased",
                    "issueBased"
                  ]
                },
                "changeLogLabels": {
                  "type": "string",
                  "description": "Categories",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "gitHubConnection"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "GitHub Release\n\nCreate, edit, or delete a GitHub release",
              "ignoreCase": "value",
              "pattern": "^GitHubRelease@0$"
            },
            "inputs": {
              "description": "GitHub Release inputs",
              "properties": {
                "gitHubConnection": {
                  "type": "string",
                  "description": "GitHub connection (OAuth or PAT)",
                  "ignoreCase": "key"
                },
                "repositoryName": {
                  "type": "string",
                  "description": "Repository",
                  "ignoreCase": "key"
                },
                "action": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "create",
                    "edit",
                    "delete"
                  ]
                },
                "target": {
                  "type": "string",
                  "description": "Target",
                  "ignoreCase": "key"
                },
                "tagSource": {
                  "description": "Tag source",
                  "ignoreCase": "all",
                  "enum": [
                    "auto",
                    "manual"
                  ]
                },
                "tagPattern": {
                  "type": "string",
                  "description": "Tag Pattern",
                  "ignoreCase": "key"
                },
                "tag": {
                  "type": "string",
                  "description": "Tag",
                  "ignoreCase": "key"
                },
                "title": {
                  "type": "string",
                  "description": "Release title",
                  "ignoreCase": "key"
                },
                "releaseNotesSource": {
                  "description": "Release notes source",
                  "ignoreCase": "all",
                  "enum": [
                    "file",
                    "input"
                  ]
                },
                "releaseNotesFile": {
                  "type": "string",
                  "description": "Release notes file path",
                  "ignoreCase": "key"
                },
                "releaseNotes": {
                  "type": "string",
                  "description": "Release notes",
                  "ignoreCase": "key"
                },
                "assets": {
                  "type": "string",
                  "description": "Assets",
                  "ignoreCase": "key"
                },
                "assetUploadMode": {
                  "description": "Asset upload mode",
                  "ignoreCase": "all",
                  "enum": [
                    "delete",
                    "replace"
                  ]
                },
                "isDraft": {
                  "type": "boolean",
                  "description": "Draft release",
                  "ignoreCase": "key"
                },
                "isPreRelease": {
                  "type": "boolean",
                  "description": "Pre-release",
                  "ignoreCase": "key"
                },
                "addChangeLog": {
                  "type": "boolean",
                  "description": "Add changelog",
                  "ignoreCase": "key"
                },
                "changeLogCompareToRelease": {
                  "description": "Compare to",
                  "ignoreCase": "all",
                  "enum": [
                    "lastFullRelease",
                    "lastNonDraftRelease",
                    "lastNonDraftReleaseByTag"
                  ]
                },
                "changeLogCompareToReleaseTag": {
                  "type": "string",
                  "description": "Release Tag",
                  "ignoreCase": "key"
                },
                "changeLogType": {
                  "description": "Changelog type",
                  "ignoreCase": "all",
                  "enum": [
                    "commitBased",
                    "issueBased"
                  ]
                },
                "changeLogLabels": {
                  "type": "string",
                  "description": "Categories",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "gitHubConnection"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "cURL Upload Files\n\nUse cURL to upload files with FTP, FTPS, SFTP, HTTP, and more.",
              "ignoreCase": "value",
              "pattern": "^cURLUploader@1$"
            },
            "inputs": {
              "description": "cURL Upload Files inputs",
              "properties": {
                "files": {
                  "type": "string",
                  "description": "Files",
                  "ignoreCase": "key"
                },
                "username": {
                  "type": "string",
                  "description": "Username",
                  "ignoreCase": "key"
                },
                "password": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "url": {
                  "type": "string",
                  "description": "URL",
                  "ignoreCase": "key"
                },
                "options": {
                  "type": "string",
                  "description": "Optional Arguments",
                  "ignoreCase": "key"
                },
                "redirectStderr": {
                  "type": "boolean",
                  "description": "Redirect Standard Error to Standard Out",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "files",
                "url"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "cURL upload files\n\nUse cURL's supported protocols to upload files",
              "ignoreCase": "value",
              "pattern": "^cURLUploader@2$"
            },
            "inputs": {
              "description": "cURL upload files inputs",
              "properties": {
                "files": {
                  "type": "string",
                  "description": "Files",
                  "ignoreCase": "key"
                },
                "authType": {
                  "description": "Authentication Method",
                  "ignoreCase": "all",
                  "enum": [
                    "ServiceEndpoint",
                    "UserAndPass"
                  ]
                },
                "serviceEndpoint": {
                  "type": "string",
                  "description": "Service Connection",
                  "ignoreCase": "key"
                },
                "username": {
                  "type": "string",
                  "description": "Username",
                  "ignoreCase": "key"
                },
                "password": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "url": {
                  "type": "string",
                  "description": "URL",
                  "ignoreCase": "key"
                },
                "remotePath": {
                  "type": "string",
                  "description": "Remote Directory",
                  "ignoreCase": "key"
                },
                "options": {
                  "type": "string",
                  "description": "Optional Arguments",
                  "ignoreCase": "key"
                },
                "redirectStderr": {
                  "type": "boolean",
                  "description": "Redirect Standard Error to Standard Out",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "files"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure App Service Settings\n\nUpdate/Add App settings an Azure Web App for Linux or Windows",
              "ignoreCase": "value",
              "pattern": "^AzureAppServiceSettings@1$"
            },
            "inputs": {
              "description": "Azure App Service Settings inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "appName": {
                  "type": "string",
                  "description": "App Service name",
                  "ignoreCase": "key"
                },
                "resourceGroupName": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "slotName": {
                  "type": "string",
                  "description": "Slot",
                  "ignoreCase": "key"
                },
                "appSettings": {
                  "type": "string",
                  "description": "App settings",
                  "ignoreCase": "key"
                },
                "generalSettings": {
                  "type": "string",
                  "description": "General settings",
                  "ignoreCase": "key"
                },
                "connectionStrings": {
                  "type": "string",
                  "description": "Connection Strings",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription",
                "appName",
                "resourceGroupName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Universal packages\n\nDownload or publish Universal Packages",
              "ignoreCase": "value",
              "pattern": "^UniversalPackages@0$"
            },
            "inputs": {
              "description": "Universal packages inputs",
              "properties": {
                "command": {
                  "description": "Command",
                  "ignoreCase": "all",
                  "enum": [
                    "download",
                    "publish"
                  ]
                },
                "downloadDirectory": {
                  "type": "string",
                  "description": "Destination directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "downloadDirectory"
                  ]
                },
                "feedsToUse": {
                  "description": "Feed location",
                  "ignoreCase": "all",
                  "enum": [
                    "internal",
                    "external"
                  ],
                  "aliases": [
                    "internalOrExternalDownload"
                  ]
                },
                "externalFeedCredentials": {
                  "type": "string",
                  "description": "organization/collection connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "externalEndpoint"
                  ]
                },
                "vstsFeed": {
                  "type": "string",
                  "description": "Feed",
                  "ignoreCase": "key",
                  "aliases": [
                    "feedListDownload"
                  ]
                },
                "vstsFeedPackage": {
                  "type": "string",
                  "description": "Package name",
                  "ignoreCase": "key",
                  "aliases": [
                    "packageListDownload"
                  ]
                },
                "vstsPackageVersion": {
                  "type": "string",
                  "description": "Version",
                  "ignoreCase": "key",
                  "aliases": [
                    "versionListDownload"
                  ]
                },
                "feedDownloadExternal": {
                  "type": "string",
                  "description": "Feed (or Project/Feed if the feed was created in a project)",
                  "ignoreCase": "key"
                },
                "packageDownloadExternal": {
                  "type": "string",
                  "description": "Package name",
                  "ignoreCase": "key"
                },
                "versionDownloadExternal": {
                  "type": "string",
                  "description": "Version",
                  "ignoreCase": "key"
                },
                "publishDirectory": {
                  "type": "string",
                  "description": "Path to file(s) to publish",
                  "ignoreCase": "key",
                  "aliases": [
                    "publishDirectory"
                  ]
                },
                "feedsToUsePublish": {
                  "description": "Feed location",
                  "ignoreCase": "all",
                  "enum": [
                    "internal",
                    "external"
                  ],
                  "aliases": [
                    "internalOrExternalPublish"
                  ]
                },
                "publishFeedCredentials": {
                  "type": "string",
                  "description": "organization/collection connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "externalEndpoints"
                  ]
                },
                "vstsFeedPublish": {
                  "type": "string",
                  "description": "Destination Feed",
                  "ignoreCase": "key",
                  "aliases": [
                    "feedListPublish"
                  ]
                },
                "publishPackageMetadata": {
                  "type": "boolean",
                  "description": "Publish pipeline metadata",
                  "ignoreCase": "key"
                },
                "vstsFeedPackagePublish": {
                  "type": "string",
                  "description": "Package name",
                  "ignoreCase": "key",
                  "aliases": [
                    "packageListPublish"
                  ]
                },
                "feedPublishExternal": {
                  "type": "string",
                  "description": "Feed (or Project/Feed if the feed was created in a project)",
                  "ignoreCase": "key"
                },
                "packagePublishExternal": {
                  "type": "string",
                  "description": "Package name",
                  "ignoreCase": "key"
                },
                "versionOption": {
                  "description": "Version",
                  "ignoreCase": "all",
                  "enum": [
                    "major",
                    "minor",
                    "patch",
                    "custom"
                  ],
                  "aliases": [
                    "versionPublishSelector"
                  ]
                },
                "versionPublish": {
                  "type": "string",
                  "description": "Custom version",
                  "ignoreCase": "key"
                },
                "packagePublishDescription": {
                  "type": "string",
                  "description": "Description",
                  "ignoreCase": "key"
                },
                "verbosity": {
                  "description": "Verbosity",
                  "ignoreCase": "all",
                  "enum": [
                    "None",
                    "Trace",
                    "Debug",
                    "Information",
                    "Warning",
                    "Error",
                    "Critical"
                  ]
                },
                "publishedPackageVar": {
                  "type": "string",
                  "description": "Package Output Variable",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Check Azure Policy compliance\n\nSecurity and compliance assessment for Azure Policy",
              "ignoreCase": "value",
              "pattern": "^AzurePolicyCheckGate@0$"
            },
            "inputs": {
              "description": "Check Azure Policy compliance inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "ResourceGroupName": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "Resources": {
                  "type": "string",
                  "description": "Resource name",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure Function on Kubernetes\n\nDeploy Azure function to Kubernetes cluster.",
              "ignoreCase": "value",
              "pattern": "^AzureFunctionOnKubernetes@0$"
            },
            "inputs": {
              "description": "Azure Function on Kubernetes inputs",
              "properties": {
                "dockerRegistryServiceConnection": {
                  "type": "string",
                  "description": "Docker registry service connection",
                  "ignoreCase": "key"
                },
                "kubernetesServiceConnection": {
                  "type": "string",
                  "description": "Kubernetes service connection",
                  "ignoreCase": "key"
                },
                "namespace": {
                  "type": "string",
                  "description": "Kubernetes namespace",
                  "ignoreCase": "key"
                },
                "secretName": {
                  "type": "string",
                  "description": "Secret Name",
                  "ignoreCase": "key"
                },
                "dockerHubNamespace": {
                  "type": "string",
                  "description": "Docker Hub namespace",
                  "ignoreCase": "key"
                },
                "appName": {
                  "type": "string",
                  "description": "Application Name",
                  "ignoreCase": "key"
                },
                "functionRootDirectory": {
                  "type": "string",
                  "description": "Function root directory",
                  "ignoreCase": "key"
                },
                "waitForStability": {
                  "type": "boolean",
                  "description": "Wait for stability",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "dockerRegistryServiceConnection",
                "kubernetesServiceConnection",
                "appName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure Function on Kubernetes\n\nDeploy Azure function to Kubernetes cluster.",
              "ignoreCase": "value",
              "pattern": "^AzureFunctionOnKubernetes@1$"
            },
            "inputs": {
              "description": "Azure Function on Kubernetes inputs",
              "properties": {
                "connectionType": {
                  "description": "Service connection type",
                  "ignoreCase": "all",
                  "enum": [
                    "Azure Resource Manager",
                    "Kubernetes Service Connection"
                  ]
                },
                "dockerRegistryServiceConnection": {
                  "type": "string",
                  "description": "Docker registry service connection",
                  "ignoreCase": "key"
                },
                "kubernetesServiceConnection": {
                  "type": "string",
                  "description": "Kubernetes service connection",
                  "ignoreCase": "key",
                  "aliases": [
                    "kubernetesServiceEndpoint"
                  ]
                },
                "azureSubscriptionConnection": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "azureSubscriptionEndpoint"
                  ]
                },
                "azureResourceGroup": {
                  "type": "string",
                  "description": "Resource group",
                  "ignoreCase": "key"
                },
                "kubernetesCluster": {
                  "type": "string",
                  "description": "Kubernetes cluster",
                  "ignoreCase": "key"
                },
                "namespace": {
                  "type": "string",
                  "description": "Kubernetes namespace",
                  "ignoreCase": "key"
                },
                "secretName": {
                  "type": "string",
                  "description": "Secret Name",
                  "ignoreCase": "key"
                },
                "dockerHubNamespace": {
                  "type": "string",
                  "description": "Docker Hub namespace",
                  "ignoreCase": "key"
                },
                "appName": {
                  "type": "string",
                  "description": "Application Name",
                  "ignoreCase": "key"
                },
                "functionRootDirectory": {
                  "type": "string",
                  "description": "Function root directory",
                  "ignoreCase": "key"
                },
                "waitForStability": {
                  "type": "boolean",
                  "description": "Wait for stability",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "dockerRegistryServiceConnection",
                "appName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Bash\n\nRun a Bash script on macOS, Linux, or Windows",
              "ignoreCase": "value",
              "pattern": "^Bash@3$"
            },
            "inputs": {
              "description": "Bash inputs",
              "properties": {
                "targetType": {
                  "description": "Type",
                  "ignoreCase": "all",
                  "enum": [
                    "filePath",
                    "inline"
                  ]
                },
                "filePath": {
                  "type": "string",
                  "description": "Script Path",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "script": {
                  "type": "string",
                  "description": "Script",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key"
                },
                "failOnStderr": {
                  "type": "boolean",
                  "description": "Fail on Standard Error",
                  "ignoreCase": "key"
                },
                "bashEnvValue": {
                  "type": "string",
                  "description": "Set value for BASH_ENV environment variable",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Shell script\n\nRun a shell script using Bash",
              "ignoreCase": "value",
              "pattern": "^ShellScript@2$"
            },
            "inputs": {
              "description": "Shell script inputs",
              "properties": {
                "scriptPath": {
                  "type": "string",
                  "description": "Script Path",
                  "ignoreCase": "key"
                },
                "args": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "disableAutoCwd": {
                  "type": "boolean",
                  "description": "Specify Working Directory",
                  "ignoreCase": "key"
                },
                "cwd": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key"
                },
                "failOnStandardError": {
                  "type": "boolean",
                  "description": "Fail on Standard Error",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "scriptPath"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Publish build artifacts\n\nPublish build artifacts to Azure Pipelines or a Windows file share",
              "ignoreCase": "value",
              "pattern": "^PublishBuildArtifacts@1$"
            },
            "inputs": {
              "description": "Publish build artifacts inputs",
              "properties": {
                "PathtoPublish": {
                  "type": "string",
                  "description": "Path to publish",
                  "ignoreCase": "key"
                },
                "ArtifactName": {
                  "type": "string",
                  "description": "Artifact name",
                  "ignoreCase": "key"
                },
                "publishLocation": {
                  "description": "Artifact publish location",
                  "ignoreCase": "all",
                  "enum": [
                    "Container",
                    "FilePath"
                  ],
                  "aliases": [
                    "ArtifactType"
                  ]
                },
                "TargetPath": {
                  "type": "string",
                  "description": "File share path",
                  "ignoreCase": "key"
                },
                "Parallel": {
                  "type": "boolean",
                  "description": "Parallel copy",
                  "ignoreCase": "key"
                },
                "ParallelCount": {
                  "type": "integer",
                  "description": "Parallel count",
                  "ignoreCase": "key"
                },
                "FileCopyOptions": {
                  "type": "string",
                  "description": "File copy options",
                  "ignoreCase": "key"
                },
                "StoreAsTar": {
                  "type": "boolean",
                  "description": "Tar the artifact before uploading",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Install SSH key\n\nInstall an SSH key prior to a build or deployment",
              "ignoreCase": "value",
              "pattern": "^InstallSSHKey@0$"
            },
            "inputs": {
              "description": "Install SSH key inputs",
              "properties": {
                "knownHostsEntry": {
                  "type": "string",
                  "description": "Known Hosts Entry",
                  "ignoreCase": "key",
                  "aliases": [
                    "hostName"
                  ]
                },
                "sshPublicKey": {
                  "type": "string",
                  "description": "SSH Public Key",
                  "ignoreCase": "key"
                },
                "sshPassphrase": {
                  "type": "string",
                  "description": "SSH Passphrase",
                  "ignoreCase": "key"
                },
                "sshKeySecureFile": {
                  "type": "string",
                  "description": "SSH Key",
                  "ignoreCase": "key"
                },
                "addEntryToConfig": {
                  "type": "boolean",
                  "description": "Add entry to SSH config",
                  "ignoreCase": "key"
                },
                "configHostAlias": {
                  "type": "string",
                  "description": "Alias",
                  "ignoreCase": "key"
                },
                "configHostname": {
                  "type": "string",
                  "description": "Host name",
                  "ignoreCase": "key"
                },
                "configUser": {
                  "type": "string",
                  "description": "User",
                  "ignoreCase": "key"
                },
                "configPort": {
                  "type": "string",
                  "description": "Port",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "knownHostsEntry",
                "sshKeySecureFile"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure VM scale set deployment\n\nDeploy a virtual machine scale set image",
              "ignoreCase": "value",
              "pattern": "^AzureVmssDeployment@0$"
            },
            "inputs": {
              "description": "Azure VM scale set deployment inputs",
              "properties": {
                "azureSubscription": {
                  "type": "string",
                  "description": "Azure subscription",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "action": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "Update image",
                    "Configure application startup"
                  ]
                },
                "vmssName": {
                  "type": "string",
                  "description": "Virtual Machine scale set name",
                  "ignoreCase": "key"
                },
                "vmssOsType": {
                  "description": "OS type",
                  "ignoreCase": "all",
                  "enum": [
                    "Windows",
                    "Linux"
                  ]
                },
                "imageUrl": {
                  "type": "string",
                  "description": "Image URL",
                  "ignoreCase": "key"
                },
                "customScriptsDirectory": {
                  "type": "string",
                  "description": "Custom script directory",
                  "ignoreCase": "key"
                },
                "customScript": {
                  "type": "string",
                  "description": "Command",
                  "ignoreCase": "key"
                },
                "customScriptArguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "customScriptsStorageAccount": {
                  "type": "string",
                  "description": "Azure storage account where custom scripts will be uploaded",
                  "ignoreCase": "key"
                },
                "skipArchivingCustomScripts": {
                  "type": "boolean",
                  "description": "Skip Archiving custom scripts",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureSubscription",
                "vmssName",
                "vmssOsType",
                "imageUrl"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure App Service: Classic (Deprecated)\n\nCreate or update Azure App Service using Azure PowerShell",
              "ignoreCase": "value",
              "pattern": "^AzureWebPowerShellDeployment@1$"
            },
            "inputs": {
              "description": "Azure App Service: Classic (Deprecated) inputs",
              "properties": {
                "ConnectedServiceName": {
                  "type": "string",
                  "description": "Azure Subscription (Classic)",
                  "ignoreCase": "key"
                },
                "WebSiteLocation": {
                  "type": "string",
                  "description": "Web App Location",
                  "ignoreCase": "key"
                },
                "WebSiteName": {
                  "type": "string",
                  "description": "Web App Name",
                  "ignoreCase": "key"
                },
                "Slot": {
                  "type": "string",
                  "description": "Slot",
                  "ignoreCase": "key"
                },
                "Package": {
                  "type": "string",
                  "description": "Web Deploy Package",
                  "ignoreCase": "key"
                },
                "doNotDelete": {
                  "type": "boolean",
                  "description": "Set DoNotDelete flag",
                  "ignoreCase": "key"
                },
                "AdditionalArguments": {
                  "type": "string",
                  "description": "Additional Arguments",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "ConnectedServiceName",
                "WebSiteLocation",
                "WebSiteName",
                "Package"
              ]
            }
          },
          "deprecationMessage": "AzureWebPowerShellDeployment is deprecated - Create or update Azure App Service using Azure PowerShell",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Azure Cloud Service deployment\n\nDeploy an Azure Cloud Service",
              "ignoreCase": "value",
              "pattern": "^AzureCloudPowerShellDeployment@1$"
            },
            "inputs": {
              "description": "Azure Cloud Service deployment inputs",
              "properties": {
                "azureClassicSubscription": {
                  "type": "string",
                  "description": "Azure subscription (Classic)",
                  "ignoreCase": "key",
                  "aliases": [
                    "ConnectedServiceName"
                  ]
                },
                "EnableAdvancedStorageOptions": {
                  "type": "boolean",
                  "description": "Enable ARM storage support",
                  "ignoreCase": "key"
                },
                "StorageAccount": {
                  "type": "string",
                  "description": "Storage account (Classic)",
                  "ignoreCase": "key"
                },
                "ARMConnectedServiceName": {
                  "type": "string",
                  "description": "Azure subscription (ARM)",
                  "ignoreCase": "key"
                },
                "ARMStorageAccount": {
                  "type": "string",
                  "description": "Storage account (ARM)",
                  "ignoreCase": "key"
                },
                "ServiceName": {
                  "type": "string",
                  "description": "Service name",
                  "ignoreCase": "key"
                },
                "ServiceLocation": {
                  "type": "string",
                  "description": "Service location",
                  "ignoreCase": "key"
                },
                "CsPkg": {
                  "type": "string",
                  "description": "CsPkg",
                  "ignoreCase": "key"
                },
                "CsCfg": {
                  "type": "string",
                  "description": "CsCfg",
                  "ignoreCase": "key"
                },
                "slotName": {
                  "type": "string",
                  "description": "Environment (Slot)",
                  "ignoreCase": "key",
                  "aliases": [
                    "Slot"
                  ]
                },
                "DeploymentLabel": {
                  "type": "string",
                  "description": "Deployment label",
                  "ignoreCase": "key"
                },
                "AppendDateTimeToLabel": {
                  "type": "boolean",
                  "description": "Append current date and time",
                  "ignoreCase": "key"
                },
                "AllowUpgrade": {
                  "type": "boolean",
                  "description": "Allow upgrade",
                  "ignoreCase": "key"
                },
                "SimultaneousUpgrade": {
                  "type": "boolean",
                  "description": "Simultaneous upgrade",
                  "ignoreCase": "key"
                },
                "ForceUpgrade": {
                  "type": "boolean",
                  "description": "Force upgrade",
                  "ignoreCase": "key"
                },
                "VerifyRoleInstanceStatus": {
                  "type": "boolean",
                  "description": "Verify role instance status",
                  "ignoreCase": "key"
                },
                "DiagnosticStorageAccountKeys": {
                  "type": "string",
                  "description": "Diagnostic storage account keys",
                  "ignoreCase": "key"
                },
                "NewServiceCustomCertificates": {
                  "type": "string",
                  "description": "Custom certificates to import",
                  "ignoreCase": "key"
                },
                "NewServiceAdditionalArguments": {
                  "type": "string",
                  "description": "Additional arguments",
                  "ignoreCase": "key"
                },
                "NewServiceAffinityGroup": {
                  "type": "string",
                  "description": "Affinity group",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "azureClassicSubscription",
                "ServiceName",
                "ServiceLocation",
                "CsPkg",
                "CsCfg"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Cargo authenticate (for task runners)\n\nAuthentication task for the cargo client used for installing Cargo crates distribution",
              "ignoreCase": "value",
              "pattern": "^CargoAuthenticate@0$"
            },
            "inputs": {
              "description": "Cargo authenticate (for task runners) inputs",
              "properties": {
                "configFile": {
                  "type": "string",
                  "description": "config.toml file to authenticate",
                  "ignoreCase": "key"
                },
                "cargoServiceConnections": {
                  "type": "string",
                  "description": "Credentials for registries outside this organization/collection",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "configFile"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Delete files\n\nDelete folders, or files matching a pattern",
              "ignoreCase": "value",
              "pattern": "^DeleteFiles@1$"
            },
            "inputs": {
              "description": "Delete files inputs",
              "properties": {
                "SourceFolder": {
                  "type": "string",
                  "description": "Source Folder",
                  "ignoreCase": "key"
                },
                "Contents": {
                  "type": "string",
                  "description": "Contents",
                  "ignoreCase": "key"
                },
                "RemoveSourceFolder": {
                  "type": "boolean",
                  "description": "Remove SourceFolder",
                  "ignoreCase": "key"
                },
                "RemoveDotFiles": {
                  "type": "boolean",
                  "description": "Remove files starting with a dot",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "gulp\n\nRun the gulp Node.js streaming task-based build system",
              "ignoreCase": "value",
              "pattern": "^gulp@0$"
            },
            "inputs": {
              "description": "gulp inputs",
              "properties": {
                "gulpFile": {
                  "type": "string",
                  "description": "gulp File Path",
                  "ignoreCase": "key"
                },
                "targets": {
                  "type": "string",
                  "description": "gulp Task(s)",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "gulpjs": {
                  "type": "string",
                  "description": "gulp.js location",
                  "ignoreCase": "key"
                },
                "publishJUnitResults": {
                  "type": "boolean",
                  "description": "Publish to Azure Pipelines",
                  "ignoreCase": "key"
                },
                "testResultsFiles": {
                  "type": "string",
                  "description": "Test Results Files",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test Run Title",
                  "ignoreCase": "key"
                },
                "enableCodeCoverage": {
                  "type": "boolean",
                  "description": "Enable code Coverage",
                  "ignoreCase": "key"
                },
                "testFramework": {
                  "description": "Test Framework",
                  "ignoreCase": "all",
                  "enum": [
                    "Mocha",
                    "Jasmine"
                  ]
                },
                "srcFiles": {
                  "type": "string",
                  "description": "Source Files",
                  "ignoreCase": "key"
                },
                "testFiles": {
                  "type": "string",
                  "description": "Test Script Files",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "gulp\n\nRun the gulp Node.js streaming task-based build system",
              "ignoreCase": "value",
              "pattern": "^gulp@1$"
            },
            "inputs": {
              "description": "gulp inputs",
              "properties": {
                "gulpFile": {
                  "type": "string",
                  "description": "gulp File Path",
                  "ignoreCase": "key"
                },
                "targets": {
                  "type": "string",
                  "description": "gulp Task(s)",
                  "ignoreCase": "key"
                },
                "arguments": {
                  "type": "string",
                  "description": "Arguments",
                  "ignoreCase": "key"
                },
                "workingDirectory": {
                  "type": "string",
                  "description": "Working Directory",
                  "ignoreCase": "key",
                  "aliases": [
                    "cwd"
                  ]
                },
                "gulpjs": {
                  "type": "string",
                  "description": "gulp.js location",
                  "ignoreCase": "key"
                },
                "publishJUnitResults": {
                  "type": "boolean",
                  "description": "Publish to Azure Pipelines",
                  "ignoreCase": "key"
                },
                "testResultsFiles": {
                  "type": "string",
                  "description": "Test Results Files",
                  "ignoreCase": "key"
                },
                "testRunTitle": {
                  "type": "string",
                  "description": "Test Run Title",
                  "ignoreCase": "key"
                },
                "enableCodeCoverage": {
                  "type": "boolean",
                  "description": "Enable code Coverage",
                  "ignoreCase": "key"
                },
                "testFramework": {
                  "description": "Test Framework",
                  "ignoreCase": "all",
                  "enum": [
                    "Mocha",
                    "Jasmine"
                  ]
                },
                "srcFiles": {
                  "type": "string",
                  "description": "Source Files",
                  "ignoreCase": "key"
                },
                "testFiles": {
                  "type": "string",
                  "description": "Test Script Files",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Cloud-based web performance test\n\nRun a quick web performance test in the cloud with Azure Pipelines",
              "ignoreCase": "value",
              "pattern": "^QuickPerfTest@1$"
            },
            "inputs": {
              "description": "Cloud-based web performance test inputs",
              "properties": {
                "connectedServiceName": {
                  "type": "string",
                  "description": "Azure Pipelines Connection",
                  "ignoreCase": "key"
                },
                "websiteUrl": {
                  "type": "string",
                  "description": "Website URL",
                  "ignoreCase": "key"
                },
                "testName": {
                  "type": "string",
                  "description": "Test Name",
                  "ignoreCase": "key"
                },
                "vuLoad": {
                  "description": "User Load",
                  "ignoreCase": "all",
                  "enum": [
                    "25",
                    "50",
                    "100",
                    "250"
                  ]
                },
                "runDuration": {
                  "description": "Run Duration (sec)",
                  "ignoreCase": "all",
                  "enum": [
                    "60",
                    "120",
                    "180",
                    "240",
                    "300"
                  ]
                },
                "geoLocation": {
                  "description": "Load Location",
                  "ignoreCase": "all",
                  "enum": [
                    "Default",
                    "Australia East",
                    "Australia Southeast",
                    "Brazil South",
                    "Central India",
                    "Central US",
                    "East Asia",
                    "East US 2",
                    "East US",
                    "Japan East",
                    "Japan West",
                    "North Central US",
                    "North Europe",
                    "South Central US",
                    "South India",
                    "Southeast Asia",
                    "West Europe",
                    "West US"
                  ]
                },
                "machineType": {
                  "description": "Run load test using",
                  "ignoreCase": "all",
                  "enum": [
                    "0",
                    "2"
                  ]
                },
                "resourceGroupName": {
                  "type": "string",
                  "description": "Resource group rig",
                  "ignoreCase": "key"
                },
                "numOfSelfProvisionedAgents": {
                  "type": "integer",
                  "description": "No. of agents to use",
                  "ignoreCase": "key"
                },
                "avgResponseTimeThreshold": {
                  "type": "string",
                  "description": "Fail test if Avg.Response Time(ms) exceeds",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "websiteUrl",
                "testName"
              ]
            }
          },
          "deprecationMessage": "QuickPerfTest is deprecated - Run a quick web performance test in the cloud with Azure Pipelines",
          "doNotSuggest": true,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "IIS web app manage\n\nCreate or update websites, web apps, virtual directories, or application pools",
              "ignoreCase": "value",
              "pattern": "^IISWebAppManagementOnMachineGroup@0$"
            },
            "inputs": {
              "description": "IIS web app manage inputs",
              "properties": {
                "EnableIIS": {
                  "type": "boolean",
                  "description": "Enable IIS",
                  "ignoreCase": "key"
                },
                "IISDeploymentType": {
                  "description": "Configuration type",
                  "ignoreCase": "all",
                  "enum": [
                    "IISWebsite",
                    "IISWebApplication",
                    "IISVirtualDirectory",
                    "IISApplicationPool"
                  ]
                },
                "ActionIISWebsite": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "CreateOrUpdateWebsite",
                    "StartWebsite",
                    "StopWebsite"
                  ]
                },
                "ActionIISApplicationPool": {
                  "description": "Action",
                  "ignoreCase": "all",
                  "enum": [
                    "CreateOrUpdateAppPool",
                    "StartAppPool",
                    "StopAppPool",
                    "RecycleAppPool"
                  ]
                },
                "StartStopWebsiteName": {
                  "type": "string",
                  "description": "Website name",
                  "ignoreCase": "key"
                },
                "WebsiteName": {
                  "type": "string",
                  "description": "Website name",
                  "ignoreCase": "key"
                },
                "WebsitePhysicalPath": {
                  "type": "string",
                  "description": "Physical path",
                  "ignoreCase": "key"
                },
                "WebsitePhysicalPathAuth": {
                  "description": "Physical path authentication",
                  "ignoreCase": "all",
                  "enum": [
                    "WebsiteUserPassThrough",
                    "WebsiteWindowsAuth"
                  ]
                },
                "WebsiteAuthUserName": {
                  "type": "string",
                  "description": "Username",
                  "ignoreCase": "key"
                },
                "WebsiteAuthUserPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "AddBinding": {
                  "type": "boolean",
                  "description": "Add binding",
                  "ignoreCase": "key"
                },
                "Protocol": {
                  "description": "Protocol",
                  "ignoreCase": "all",
                  "enum": [
                    "https",
                    "http"
                  ]
                },
                "IPAddress": {
                  "type": "string",
                  "description": "IP address",
                  "ignoreCase": "key"
                },
                "Port": {
                  "type": "string",
                  "description": "Port",
                  "ignoreCase": "key"
                },
                "ServerNameIndication": {
                  "type": "boolean",
                  "description": "Server Name Indication required",
                  "ignoreCase": "key"
                },
                "HostNameWithOutSNI": {
                  "type": "string",
                  "description": "Host name",
                  "ignoreCase": "key"
                },
                "HostNameWithHttp": {
                  "type": "string",
                  "description": "Host name",
                  "ignoreCase": "key"
                },
                "HostNameWithSNI": {
                  "type": "string",
                  "description": "Host name",
                  "ignoreCase": "key"
                },
                "SSLCertThumbPrint": {
                  "type": "string",
                  "description": "SSL certificate thumbprint",
                  "ignoreCase": "key"
                },
                "Bindings": {
                  "type": "string",
                  "description": "Add bindings",
                  "ignoreCase": "key"
                },
                "CreateOrUpdateAppPoolForWebsite": {
                  "type": "boolean",
                  "description": "Create or update app pool",
                  "ignoreCase": "key"
                },
                "ConfigureAuthenticationForWebsite": {
                  "type": "boolean",
                  "description": "Configure authentication",
                  "ignoreCase": "key"
                },
                "AppPoolNameForWebsite": {
                  "type": "string",
                  "description": "Name",
                  "ignoreCase": "key"
                },
                "DotNetVersionForWebsite": {
                  "description": ".NET version",
                  "ignoreCase": "all",
                  "enum": [
                    "v4.0",
                    "v2.0",
                    "No Managed Code"
                  ]
                },
                "PipeLineModeForWebsite": {
                  "description": "Managed pipeline mode",
                  "ignoreCase": "all",
                  "enum": [
                    "Integrated",
                    "Classic"
                  ]
                },
                "AppPoolIdentityForWebsite": {
                  "description": "Identity",
                  "ignoreCase": "all",
                  "enum": [
                    "ApplicationPoolIdentity",
                    "LocalService",
                    "LocalSystem",
                    "NetworkService",
                    "SpecificUser"
                  ]
                },
                "AppPoolUsernameForWebsite": {
                  "type": "string",
                  "description": "Username",
                  "ignoreCase": "key"
                },
                "AppPoolPasswordForWebsite": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "AnonymousAuthenticationForWebsite": {
                  "type": "boolean",
                  "description": "Anonymous authentication",
                  "ignoreCase": "key"
                },
                "BasicAuthenticationForWebsite": {
                  "type": "boolean",
                  "description": "Basic authentication",
                  "ignoreCase": "key"
                },
                "WindowsAuthenticationForWebsite": {
                  "type": "boolean",
                  "description": "Windows authentication",
                  "ignoreCase": "key"
                },
                "ParentWebsiteNameForVD": {
                  "type": "string",
                  "description": "Parent website name",
                  "ignoreCase": "key"
                },
                "VirtualPathForVD": {
                  "type": "string",
                  "description": "Virtual path",
                  "ignoreCase": "key"
                },
                "PhysicalPathForVD": {
                  "type": "string",
                  "description": "Physical path",
                  "ignoreCase": "key"
                },
                "VDPhysicalPathAuth": {
                  "description": "Physical path authentication",
                  "ignoreCase": "all",
                  "enum": [
                    "VDUserPassThrough",
                    "VDWindowsAuth"
                  ]
                },
                "VDAuthUserName": {
                  "type": "string",
                  "description": "Username",
                  "ignoreCase": "key"
                },
                "VDAuthUserPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "ParentWebsiteNameForApplication": {
                  "type": "string",
                  "description": "Parent website name",
                  "ignoreCase": "key"
                },
                "VirtualPathForApplication": {
                  "type": "string",
                  "description": "Virtual path",
                  "ignoreCase": "key"
                },
                "PhysicalPathForApplication": {
                  "type": "string",
                  "description": "Physical path",
                  "ignoreCase": "key"
                },
                "ApplicationPhysicalPathAuth": {
                  "description": "Physical path authentication",
                  "ignoreCase": "all",
                  "enum": [
                    "ApplicationUserPassThrough",
                    "ApplicationWindowsAuth"
                  ]
                },
                "ApplicationAuthUserName": {
                  "type": "string",
                  "description": "Username",
                  "ignoreCase": "key"
                },
                "ApplicationAuthUserPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "CreateOrUpdateAppPoolForApplication": {
                  "type": "boolean",
                  "description": "Create or update app pool",
                  "ignoreCase": "key"
                },
                "AppPoolNameForApplication": {
                  "type": "string",
                  "description": "Name",
                  "ignoreCase": "key"
                },
                "DotNetVersionForApplication": {
                  "description": ".NET version",
                  "ignoreCase": "all",
                  "enum": [
                    "v4.0",
                    "v2.0",
                    "No Managed Code"
                  ]
                },
                "PipeLineModeForApplication": {
                  "description": "Managed pipeline mode",
                  "ignoreCase": "all",
                  "enum": [
                    "Integrated",
                    "Classic"
                  ]
                },
                "AppPoolIdentityForApplication": {
                  "description": "Identity",
                  "ignoreCase": "all",
                  "enum": [
                    "ApplicationPoolIdentity",
                    "LocalService",
                    "LocalSystem",
                    "NetworkService",
                    "SpecificUser"
                  ]
                },
                "AppPoolUsernameForApplication": {
                  "type": "string",
                  "description": "Username",
                  "ignoreCase": "key"
                },
                "AppPoolPasswordForApplication": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "AppPoolName": {
                  "type": "string",
                  "description": "Name",
                  "ignoreCase": "key"
                },
                "DotNetVersion": {
                  "description": ".NET version",
                  "ignoreCase": "all",
                  "enum": [
                    "v4.0",
                    "v2.0",
                    "No Managed Code"
                  ]
                },
                "PipeLineMode": {
                  "description": "Managed pipeline mode",
                  "ignoreCase": "all",
                  "enum": [
                    "Integrated",
                    "Classic"
                  ]
                },
                "AppPoolIdentity": {
                  "description": "Identity",
                  "ignoreCase": "all",
                  "enum": [
                    "ApplicationPoolIdentity",
                    "LocalService",
                    "LocalSystem",
                    "NetworkService",
                    "SpecificUser"
                  ]
                },
                "AppPoolUsername": {
                  "type": "string",
                  "description": "Username",
                  "ignoreCase": "key"
                },
                "AppPoolPassword": {
                  "type": "string",
                  "description": "Password",
                  "ignoreCase": "key"
                },
                "StartStopRecycleAppPoolName": {
                  "type": "string",
                  "description": "Application pool name",
                  "ignoreCase": "key"
                },
                "AppCmdCommands": {
                  "type": "string",
                  "description": "Additional appcmd.exe commands",
                  "ignoreCase": "key"
                }
              },
              "additionalProperties": false,
              "required": [
                "WebsiteName",
                "Bindings",
                "AppPoolNameForWebsite",
                "ParentWebsiteNameForVD",
                "VirtualPathForVD",
                "ParentWebsiteNameForApplication",
                "VirtualPathForApplication",
                "AppPoolNameForApplication",
                "AppPoolName"
              ]
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task",
            "inputs"
          ]
        },
        {
          "properties": {
            "task": {
              "description": "Docker CLI installer\n\nInstall Docker CLI on agent machine.",
              "ignoreCase": "value",
              "pattern": "^DockerInstaller@0$"
            },
            "inputs": {
              "description": "Docker CLI installer inputs",
              "properties": {
                "dockerVersion": {
                  "type": "string",
                  "description": "Docker Version",
                  "ignoreCase": "key"
                },
                "releaseType": {
                  "description": "Release type",
                  "ignoreCase": "all",
                  "enum": [
                    "stable",
                    "edge",
                    "test",
                    "nightly"
                  ]
                }
              },
              "additionalProperties": false,
              "required": []
            }
          },
          "doNotSuggest": false,
          "firstProperty": [
            "task"
          ],
          "required": [
            "task"
          ]
        }
      ]
    }
  }
}