{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "https://github.com/Microsoft/azure-pipelines-vscode/blob/master/local-schema.json",
    "$comment": "v1.143.0",
    "title": "Pipeline schema",
    "description": "A pipeline definition",
    "oneOf": [
      {
        "$ref": "#/definitions/pipeline"
      },
      {
        "type": "string",
        "pattern": "^$"
      }
    ],
    "definitions": {
      "pipeline": {
        "type": "object",
        "anyOf": [
          {
            "$ref": "#/definitions/jobsAtRoot"
          },
          {
            "$ref": "#/definitions/phasesAtRoot"
          },
          {
            "$ref": "#/definitions/jobAtRoot"
          },
          {
            "$ref": "#/definitions/phaseAtRoot"
          }
        ]
      },
      "stagesAtRoot": {
        "additionalProperties": false,
        "properties": {
          "stages": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/stage"
            }
          },
          "variables": {
            "oneOf": [
              {
                "type": "object"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "oneOf": [
                    {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "properties": {
                        "group": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                }
              }
            ],
            "description": "Variables for the entire pipeline"
          },
          "name": {
            "description": "Pipeline name",
            "type": "string"
          },
          "appendCommitMessageToRunName": {
            "description": "Append Commit Message To BuildNumber in UI",
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression"
          },
          "trigger": {
            "description": "Continuous integration triggers",
            "$ref": "#/definitions/trigger"
          },
          "pr": {
            "description": "Pull request triggers",
            "$ref": "#/definitions/prTrigger"
          },
          "resources": {
            "description": "Containers and repositories used in the build",
            "$ref": "#/definitions/resources"
          }
        }
      },
      "jobsAtRoot": {
        "additionalProperties": false,
        "required": [
          "jobs"
        ],
        "properties": {
          "jobs": {
            "description": "Jobs which make up the pipeline",
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/definitions/job"
                },
                {
                  "$ref": "#/definitions/templateReference"
                }
              ]
            }
          },
          "variables": {
            "oneOf": [
              {
                "type": "object"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "oneOf": [
                    {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "properties": {
                        "group": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                }
              }
            ],
            "description": "Variables for this multi-job pipeline"
          },
          "name": {
            "description": "Pipeline name",
            "type": "string"
          },
          "appendCommitMessageToRunName": {
            "description": "Append Commit Message To BuildNumber in UI",
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression"
          },
          "trigger": {
            "description": "Continuous integration triggers",
            "$ref": "#/definitions/trigger"
          },
          "pr": {
            "description": "Pull request triggers",
            "$ref": "#/definitions/prTrigger"
          },
          "resources": {
            "description": "Containers and repositories used in the build",
            "$ref": "#/definitions/resources"
          }
        }
      },
      "phasesAtRoot": {
        "additionalProperties": false,
        "required": [
          "phases"
        ],
        "properties": {
          "phases": {
            "doNotSuggest": true,
            "deprecationMessage": "This option is deprecated, use `jobs` instead",
            "description": "Phases which make up the pipeline",
            "type": "array",
            "items": {
              "$ref": "#/definitions/phase"
            }
          },
          "variables": {
            "oneOf": [
              {
                "type": "object"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "oneOf": [
                    {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "properties": {
                        "group": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                }
              }
            ],
            "description": "Variables for this multi-phase pipeline"
          },
          "name": {
            "description": "Pipeline name",
            "type": "string"
          },
          "appendCommitMessageToRunName": {
            "description": "Append Commit Message To BuildNumber in UI",
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression"
          },
          "trigger": {
            "description": "Continuous integration triggers",
            "$ref": "#/definitions/trigger"
          },
          "pr": {
            "description": "Pull request triggers",
            "$ref": "#/definitions/prTrigger"
          },
          "resources": {
            "description": "Containers and repositories used in the build",
            "$ref": "#/definitions/resources"
          }
        }
      },
      "jobAtRoot": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "pool": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/definitions/pool"
              }
            ],
            "description": "Pool where this job will run"
          },
          "server": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "True if this is an agent-less job (runs on server)",
            "doNotSuggest": true,
            "deprecationMessage": "This option is deprecated, use pool:server instead"
          },
          "strategy": {
            "$ref": "#/definitions/strategy",
            "description": "Execution strategy for this job"
          },
          "variables": {
            "oneOf": [
              {
                "type": "object"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "oneOf": [
                    {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "properties": {
                        "group": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                }
              }
            ],
            "description": "Job-specific variables"
          },
          "steps": {
            "type": "array",
            "description": "A list of steps to run in this job",
            "items": {
              "$ref": "#/definitions/stepOrTemplateExpression"
            }
          },
          "container": {
            "type": "string",
            "description": "Container resource name"
          },
          "workspace": {
            "$ref": "#/definitions/workspace"
          },
          "name": {
            "description": "Pipeline name",
            "type": "string"
          },
          "appendCommitMessageToRunName": {
            "description": "Append Commit Message To BuildNumber in UI",
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression"
          },
          "trigger": {
            "description": "Continuous integration triggers",
            "$ref": "#/definitions/trigger"
          },
          "pr": {
            "description": "Pull request triggers",
            "$ref": "#/definitions/prTrigger"
          },
          "resources": {
            "description": "Containers and repositories used in the build",
            "$ref": "#/definitions/resources"
          }
        }
      },
      "phaseAtRoot": {
        "type": "object",
        "additionalProperties": false,
        "doNotSuggest": true,
        "deprecationMessage": "This option is deprecated, use `job` (inside `jobs`) instead",
        "properties": {
          "queue": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/definitions/queue"
              }
            ],
            "doNotSuggest": true,
            "deprecationMessage": "This option is deprecated, use pool instead",
            "description": "Queue where this phase will run"
          },
          "server": {
            "oneOf": [
              {
                "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression"
              },
              {
                "$ref": "#/definitions/legacyServer"
              }
            ],
            "doNotSuggest": true,
            "deprecationMessage": "This option is deprecated, use pool:server instead",
            "description": "True if this is an agent-less phase (runs on server)"
          },
          "variables": {
            "oneOf": [
              {
                "type": "object"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "oneOf": [
                    {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "properties": {
                        "group": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                }
              }
            ],
            "description": "Phase-specific variables"
          },
          "steps": {
            "type": "array",
            "description": "A list of steps to run in this phase",
            "items": {
              "$ref": "#/definitions/stepOrTemplateExpression"
            }
          },
          "parameters": {
            "description": "Parameters used in a pipeline template",
            "type": "object"
          },
          "name": {
            "description": "Pipeline name",
            "type": "string"
          },
          "appendCommitMessageToRunName": {
            "description": "Append Commit Message To BuildNumber in UI",
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression"
          },
          "trigger": {
            "description": "Continuous integration triggers",
            "$ref": "#/definitions/trigger"
          },
          "pr": {
            "description": "Pull request triggers",
            "$ref": "#/definitions/prTrigger"
          },
          "resources": {
            "description": "Containers and repositories used in the build",
            "$ref": "#/definitions/resources"
          }
        }
      },
      "script": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "displayName": {
            "type": "string",
            "description": "Human-readable name for the step"
          },
          "name": {
            "type": "string",
            "description": "ID of the step",
            "pattern": "^[_A-Za-z0-9]*$"
          },
          "failOnStderr": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Fail the task if output is sent to Stderr?"
          },
          "workingDirectory": {
            "type": "string",
            "description": "Start the script with this working directory"
          },
          "condition": {
            "$ref": "#/definitions/conditionTemplateMacroRuntimeExpression",
            "description": "Evaluate this condition expression to determine whether to run this script"
          },
          "continueOnError": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Continue running the parent job even on failure?"
          },
          "enabled": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Run this script when the job runs?"
          },
          "timeoutInMinutes": {
            "$ref": "#/definitions/integerTemplateMacroExpression",
            "description": "Time to wait for this script to complete before the server kills it"
          },
          "env": {
            "type": "object",
            "description": "Variables to map into the process's environment"
          },
          "script": {
            "type": "string",
            "description": "An inline script"
          }
        },
        "required": [
          "script"
        ],
        "firstProperty": [
          "script"
        ]
      },
      "bash": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "displayName": {
            "type": "string",
            "description": "Human-readable name for the step"
          },
          "name": {
            "type": "string",
            "description": "ID of the step",
            "pattern": "^[_A-Za-z0-9]*$"
          },
          "failOnStderr": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Fail the task if output is sent to Stderr?"
          },
          "workingDirectory": {
            "type": "string",
            "description": "Start the script with this working directory"
          },
          "condition": {
            "$ref": "#/definitions/conditionTemplateMacroRuntimeExpression",
            "description": "Evaluate this condition expression to determine whether to run this script"
          },
          "continueOnError": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Continue running the parent job even on failure?"
          },
          "enabled": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Run this script when the job runs?"
          },
          "timeoutInMinutes": {
            "$ref": "#/definitions/integerTemplateMacroExpression",
            "description": "Time to wait for this script to complete before the server kills it"
          },
          "env": {
            "type": "object",
            "description": "Variables to map into the process's environment"
          },
          "bash": {
            "type": "string",
            "description": "An inline script"
          }
        },
        "required": [
          "bash"
        ],
        "firstProperty": [
          "bash"
        ]
      },
      "powershell": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "displayName": {
            "type": "string",
            "description": "Human-readable name for the step"
          },
          "name": {
            "type": "string",
            "description": "ID of the step",
            "pattern": "^[_A-Za-z0-9]*$"
          },
          "failOnStderr": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Fail the task if output is sent to Stderr?"
          },
          "workingDirectory": {
            "type": "string",
            "description": "Start the script with this working directory"
          },
          "condition": {
            "$ref": "#/definitions/conditionTemplateMacroRuntimeExpression",
            "description": "Evaluate this condition expression to determine whether to run this script"
          },
          "continueOnError": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Continue running the parent job even on failure?"
          },
          "enabled": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Run this script when the job runs?"
          },
          "timeoutInMinutes": {
            "$ref": "#/definitions/integerTemplateMacroExpression",
            "description": "Time to wait for this script to complete before the server kills it"
          },
          "env": {
            "type": "object",
            "description": "Variables to map into the process's environment"
          },
          "errorActionPreference": {
            "oneOf": [
              {
                "enum": [
                  "stop",
                  "continue",
                  "silentlyContinue"
                ],
                "ignoreCase": "value"
              },
              {
                "$ref": "#/definitions/templateMacroRuntimeExpression"
              }
            ],
            "description": "Strategy for dealing with script errors"
          },
          "ignoreLASTEXITCODE": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Check the final exit code of the script to determine whether the step succeeded?"
          },
          "powershell": {
            "type": "string",
            "description": "Inline PowerShell or reference to a PowerShell file"
          }
        },
        "required": [
          "powershell"
        ],
        "firstProperty": [
          "powershell"
        ]
      },
      "pwsh": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "displayName": {
            "type": "string",
            "description": "Human-readable name for the step"
          },
          "name": {
            "type": "string",
            "description": "ID of the step",
            "pattern": "^[_A-Za-z0-9]*$"
          },
          "failOnStderr": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Fail the task if output is sent to Stderr?"
          },
          "workingDirectory": {
            "type": "string",
            "description": "Start the script with this working directory"
          },
          "condition": {
            "$ref": "#/definitions/conditionTemplateMacroRuntimeExpression",
            "description": "Evaluate this condition expression to determine whether to run this script"
          },
          "continueOnError": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Continue running the parent job even on failure?"
          },
          "enabled": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Run this script when the job runs?"
          },
          "timeoutInMinutes": {
            "$ref": "#/definitions/integerTemplateMacroExpression",
            "description": "Time to wait for this script to complete before the server kills it"
          },
          "env": {
            "type": "object",
            "description": "Variables to map into the process's environment"
          },
          "errorActionPreference": {
            "oneOf": [
              {
                "enum": [
                  "stop",
                  "continue",
                  "silentlyContinue"
                ],
                "ignoreCase": "value"
              },
              {
                "$ref": "#/definitions/templateMacroRuntimeExpression"
              }
            ],
            "description": "Strategy for dealing with script errors"
          },
          "ignoreLASTEXITCODE": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Check the final exit code of the script to determine whether the step succeeded?"
          },
          "pwsh": {
            "type": "string",
            "description": "Inline PowerShell or reference to a PowerShell file"
          }
        },
        "required": [
          "pwsh"
        ],
        "firstProperty": [
          "pwsh"
        ]
      },
      "stage": {
        "type": "object",
        "additionalProperties": false
      },
      "job": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "pool": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/definitions/pool"
              }
            ],
            "description": "Pool where this job will run"
          },
          "server": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "True if this is an agent-less job (runs on server)",
            "doNotSuggest": true,
            "deprecationMessage": "This option is deprecated, use pool:server instead"
          },
          "strategy": {
            "$ref": "#/definitions/strategy",
            "description": "Execution strategy for this job"
          },
          "variables": {
            "oneOf": [
              {
                "type": "object"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "oneOf": [
                    {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "properties": {
                        "group": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                }
              }
            ],
            "description": "Job-specific variables"
          },
          "steps": {
            "type": "array",
            "description": "A list of steps to run in this job",
            "items": {
              "$ref": "#/definitions/stepOrTemplateExpression"
            }
          },
          "container": {
            "type": "string",
            "description": "Container resource name"
          },
          "workspace": {
            "$ref": "#/definitions/workspace"
          },
          "job": {
            "oneOf": [
              {
                "type": "string",
                "description": "ID of the job",
                "pattern": "^[_A-Za-z0-9]*$"
              },
              {
                "type": "integer",
                "description": "ID of the job"
              },
              {
                "type": "null"
              }
            ]
          },
          "continueOnError": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Continue running this job even on failure?"
          },
          "displayName": {
            "type": "string",
            "description": "Human-readable name of the job"
          },
          "condition": {
            "$ref": "#/definitions/conditionTemplateMacroRuntimeExpression",
            "description": "Evaluate this condition expression to determine whether to run this job"
          },
          "dependsOn": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "uniqueItems": true
                }
              }
            ],
            "description": "Any jobs which must complete before this one"
          },
          "timeoutInMinutes": {
            "$ref": "#/definitions/integerTemplateMacroRuntimeExpression",
            "description": "Time to wait before cancelling the job"
          },
          "cancelTimeoutInMinutes": {
            "$ref": "#/definitions/integerTemplateMacroRuntimeExpression",
            "description": "Time to wait for the job to cancel before forcibly terminating it"
          }
        },
        "firstProperty": [
          "job"
        ]
      },
      "phase": {
        "type": "object",
        "additionalProperties": false,
        "doNotSuggest": true,
        "deprecationMessage": "This option is deprecated, use `job` (inside `jobs`) instead",
        "properties": {
          "queue": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/definitions/queue"
              }
            ],
            "doNotSuggest": true,
            "deprecationMessage": "This option is deprecated, use pool instead",
            "description": "Queue where this phase will run"
          },
          "server": {
            "oneOf": [
              {
                "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression"
              },
              {
                "$ref": "#/definitions/legacyServer"
              }
            ],
            "doNotSuggest": true,
            "deprecationMessage": "This option is deprecated, use pool:server instead",
            "description": "True if this is an agent-less phase (runs on server)"
          },
          "variables": {
            "oneOf": [
              {
                "type": "object"
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "oneOf": [
                    {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "properties": {
                        "group": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                }
              }
            ],
            "description": "Phase-specific variables"
          },
          "steps": {
            "type": "array",
            "description": "A list of steps to run in this phase",
            "items": {
              "$ref": "#/definitions/stepOrTemplateExpression"
            }
          },
          "parameters": {
            "description": "Parameters used in a pipeline template",
            "type": "object"
          },
          "phase": {
            "oneOf": [
              {
                "type": "string",
                "description": "ID of the phase",
                "pattern": "^[_A-Za-z0-9]*$"
              },
              {
                "type": "null"
              }
            ]
          },
          "displayName": {
            "type": "string",
            "description": "Human-readable name of the phase"
          },
          "dependsOn": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "uniqueItems": true
                }
              }
            ],
            "description": "Any phases which must complete before this one"
          },
          "condition": {
            "$ref": "#/definitions/conditionTemplateMacroRuntimeExpression",
            "description": "Evaluate this condition expression to determine whether to run this phase"
          },
          "continueOnError": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Continue running this phase even on failure?"
          },
          "template": {
            "type": "string",
            "description": "Reference to a template for this phase"
          }
        }
      },
      "resources": {
        "oneOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "containers": {
                "description": "List of container images",
                "type": "array",
                "items": {
                  "$ref": "#/definitions/containerReference"
                }
              },
              "repositories": {
                "description": "List of external repositories",
                "type": "array",
                "items": {
                  "$ref": "#/definitions/repositoryReference"
                }
              }
            }
          },
          {
            "type": "array",
            "doNotSuggest": true,
            "deprecationMessage": "This option is deprecated, use `repositories` or `containers` instead"
          }
        ]
      },
      "pool": {
        "type": "object",
        "description": "Pool details",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of a pool"
          },
          "vmImage": {
            "description": "For the Azure Pipelines pool, the name of the VM image to use",
            "$ref": "#/definitions/vmImage"
          },
          "demands": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ],
            "description": "List of demands (for a private pool)"
          }
        }
      },
      "queue": {
        "type": "object",
        "doNotSuggest": true,
        "deprecationMessage": "This option is deprecated, use `pool` under `jobs` instead",
        "description": "Queue details",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of a queue"
          },
          "demands": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ],
            "description": "List of demands (for a private queue)"
          },
          "timeoutInMinutes": {
            "$ref": "#/definitions/integerTemplateMacroRuntimeExpression",
            "description": "Time to wait before cancelling the phase"
          },
          "cancelTimeoutInMinutes": {
            "$ref": "#/definitions/integerTemplateMacroRuntimeExpression",
            "description": "Time to wait for the phase to cancel before forcibly terminating it"
          },
          "parallel": {
            "$ref": "#/definitions/integerTemplateMacroRuntimeExpression",
            "description": "Maximum number of parallel agent executions"
          },
          "matrix": {
            "$ref": "#/definitions/matrix"
          },
          "container": {
            "type": "string",
            "description": "Container resource name"
          },
          "workspace": {
            "$ref": "#/definitions/workspace"
          }
        }
      },
      "strategy": {
        "type": "object",
        "anyOf": [
          {
            "properties": {
              "matrix": {
                "$ref": "#/definitions/matrix"
              },
              "maxParallel": {
                "$ref": "#/definitions/integerTemplateMacroRuntimeExpression",
                "description": "Maximum number of jobs running in parallel"
              }
            },
            "additionalProperties": false
          },
          {
            "properties": {
              "parallel": {
                "$ref": "#/definitions/integerTemplateMacroRuntimeExpression",
                "description": "Run the job this many times"
              },
              "maxParallel": {
                "$ref": "#/definitions/integerTemplateMacroRuntimeExpression",
                "description": "Maximum number of jobs running in parallel"
              }
            },
            "additionalProperties": false
          }
        ]
      },
      "workspace": {
        "description": "Workspace settings",
        "type": "object",
        "properties": {
          "clean": {
            "enum": [
              "outputs",
              "resources",
              "all"
            ],
            "description": "Clean source?",
            "ignoreCase": "value"
          }
        }
      },
      "legacyServer": {
        "type": "object",
        "description": "Server job details",
        "additionalProperties": false,
        "properties": {
          "timeoutInMinutes": {
            "$ref": "#/definitions/integerTemplateMacroRuntimeExpression",
            "description": "Time to wait before cancelling the job"
          },
          "cancelTimeoutInMinutes": {
            "$ref": "#/definitions/integerTemplateMacroRuntimeExpression",
            "description": "Time to wait for the job to cancel before forcibly terminating it"
          },
          "parallel": {
            "$ref": "#/definitions/integerTemplateMacroRuntimeExpression",
            "description": "Maximum number of parallel agent executions"
          },
          "matrix": {
            "$ref": "#/definitions/matrix"
          }
        }
      },
      "matrix": {
        "description": "List of permutations of variable values to run",
        "oneOf": [
          {
            "type": "object",
            "minProperties": 1,
            "patternProperties": {
              "^[A-Za-z0-9_]+$": {
                "type": "object",
                "description": "Variable-value pair to pass in this matrix instance"
              }
            }
          },
          {
            "$ref": "#/definitions/runtimeExpression"
          }
        ]
      },
      "checkout": {
        "type": "object",
        "required": [
          "checkout"
        ],
        "firstProperty": [
          "checkout"
        ],
        "additionalProperties": false,
        "properties": {
          "checkout": {
            "enum": [
              "self",
              "none"
            ],
            "description": "Whether or not to check out the repository containing this pipeline definition",
            "ignoreCase": "value"
          },
          "clean": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Start from a clean, freshly-fetched workdir?"
          },
          "fetchDepth": {
            "$ref": "#/definitions/integerTemplateMacroExpression",
            "description": "Depth of Git graph to fetch"
          },
          "lfs": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Fetch Git-LFS objects?"
          },
          "submodules": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Check out Git submodules?"
          },
          "persistCredentials": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Keep credentials available for later use?"
          },
          "condition": {
            "$ref": "#/definitions/conditionTemplateMacroRuntimeExpression",
            "description": "Is this step enabled?"
          }
        }
      },
      "templateReference": {
        "type": "object",
        "required": [
          "template"
        ],
        "firstProperty": [
          "template"
        ],
        "additionalProperties": false,
        "properties": {
          "template": {
            "type": "string",
            "description": "A URL to a step template"
          },
          "parameters": {
            "type": "object",
            "description": "Step-specific parameters"
          }
        }
      },
      "repositoryReference": {
        "type": "object",
        "required": [
          "repository"
        ],
        "additionalProperties": false,
        "properties": {
          "repository": {
            "type": "string",
            "description": "ID for the external repository",
            "pattern": "^[A-Za-z0-9_.]+$"
          },
          "type": {
            "enum": [
              "git",
              "github",
              "tfsgit",
              "tfsversioncontrol"
            ],
            "description": "Type of external repository",
            "ignoreCase": "value"
          },
          "endpoint": {
            "type": "string",
            "description": "ID of the service endpoint connecting to this repository"
          },
          "name": {
            "type": "string",
            "description": "Identity and repository name",
            "examples": [
              "contoso/foo"
            ]
          },
          "ref": {
            "type": "string",
            "description": "Refname to retrieve",
            "examples": [
              "refs/heads/master",
              "refs/tags/lkg"
            ]
          },
          "clean": {
            "description": "Scorch the repo before fetching?",
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression"
          },
          "fetchDepth": {
            "description": "Depth of Git graph to fetch",
            "$ref": "#/definitions/integerTemplateMacroRuntimeExpression"
          },
          "lfs": {
            "description": "Fetch and checkout Git LFS objects?",
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression"
          },
          "mappings": {
            "description": "Workspace mappings for TFVC",
            "type": "array",
            "items": {
              "$ref": "#/definitions/tfvcMappings"
            }
          },
          "submodules": {
            "description": "Fetch and checkout submodules?",
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression"
          },
          "checkoutOptions": {
            "doNotSuggest": true,
            "deprecationMessage": "This location is deprecated, `checkoutOptions` should be a peer of the `repository` keyword.",
            "type": "object"
          }
        }
      },
      "containerReference": {
        "type": "object",
        "required": [
          "container",
          "image"
        ],
        "additionalProperties": false,
        "properties": {
          "container": {
            "type": "string",
            "description": "ID for the container",
            "pattern": "^[A-Za-z0-9_]+$"
          },
          "image": {
            "type": "string",
            "description": "Container image tag",
            "examples": [
              "ubuntu:16.04",
              "windows:1803"
            ]
          },
          "endpoint": {
            "type": "string",
            "description": "ID of the service endpoint connecting to a private container registry"
          },
          "options": {
            "type": "string",
            "description": "Options to pass into container host"
          },
          "localImage": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Build the image locally?"
          },
          "env": {
            "type": "object",
            "description": "Variables to map into the container's environment"
          },
          "type": {
            "type": "string",
            "description": "Container type"
          },
          "registry": {
            "type": "string",
            "doNotSuggest": true,
            "deprecationMessage": "This option is deprecated"
          }
        }
      },
      "branchFilter": {
        "type": "string",
        "pattern": "^[^\\/~\\^\\: \\[\\]\\*\\\\]+(\\/[^\\/~\\^\\: \\[\\]\\*\\\\]+)*(\\/\\*)?$",
        "description": "branch name or prefix filter"
      },
      "branchFilterArray": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/branchFilter"
        }
      },
      "trigger": {
        "oneOf": [
          {
            "type": "string",
            "pattern": "^none$"
          },
          {
            "$ref": "#/definitions/branchFilterArray"
          },
          {
            "type": "object",
            "properties": {
              "batch": {
                "type": "boolean",
                "description": "Whether to batch changes per branch"
              },
              "branches": {
                "type": "object",
                "properties": {
                  "include": {
                    "$ref": "#/definitions/branchFilterArray"
                  },
                  "exclude": {
                    "$ref": "#/definitions/branchFilterArray"
                  }
                }
              },
              "paths": {
                "type": "object",
                "properties": {
                  "include": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "exclude": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        ]
      },
      "prTrigger": {
        "oneOf": [
          {
            "type": "string",
            "pattern": "^none$"
          },
          {
            "$ref": "#/definitions/branchFilterArray"
          },
          {
            "type": "object",
            "properties": {
              "autoCancel": {
                "type": "boolean",
                "description": "Whether to cancel running PR builds when a new commit lands in the branch"
              },
              "branches": {
                "type": "object",
                "properties": {
                  "include": {
                    "$ref": "#/definitions/branchFilterArray"
                  },
                  "exclude": {
                    "$ref": "#/definitions/branchFilterArray"
                  }
                }
              },
              "paths": {
                "type": "object",
                "properties": {
                  "include": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "exclude": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "drafts": {
                "type": "boolean",
                "description": "Whether to start a run when a draft PR is created"
              }
            }
          }
        ]
      },
      "parameters": {
        "type": "object"
      },
      "tfvcMappings": {
        "type": "object",
        "properties": {
          "localPath": {
            "description": "On-disk path",
            "type": "string"
          },
          "serverPath": {
            "description": "TFVC server-side path",
            "type": "string"
          },
          "cloak": {
            "description": "Cloak this path?",
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression"
          }
        }
      },
      "stepOrTemplateExpression": {
        "oneOf": [
          {
            "$ref": "#/definitions/step"
          },
          {
            "$ref": "#/definitions/stepInsertExpression"
          }
        ]
      },
      "step": {
        "oneOf": [
          {
            "$ref": "#/definitions/script"
          },
          {
            "$ref": "#/definitions/bash"
          },
          {
            "$ref": "#/definitions/powershell"
          },
          {
            "$ref": "#/definitions/pwsh"
          },
          {
            "$ref": "#/definitions/checkout"
          },
          {
            "$ref": "#/definitions/templateReference"
          },
          {
            "$ref": "#/definitions/task"
          }
        ]
      },
      "booleanTemplateExpression": {
        "oneOf": [
          {
            "type": "boolean"
          },
          {
            "$ref": "#/definitions/templateExpression"
          },
          {
            "$ref": "#/definitions/functionExpression"
          }
        ]
      },
      "booleanTemplateMacroExpression": {
        "oneOf": [
          {
            "type": "boolean"
          },
          {
            "$ref": "#/definitions/macroExpression"
          },
          {
            "$ref": "#/definitions/templateExpression"
          }
        ]
      },
      "booleanTemplateMacroRuntimeExpression": {
        "oneOf": [
          {
            "type": "boolean"
          },
          {
            "$ref": "#/definitions/runtimeExpression"
          },
          {
            "$ref": "#/definitions/macroExpression"
          },
          {
            "$ref": "#/definitions/templateExpression"
          },
          {
            "$ref": "#/definitions/functionExpression"
          }
        ]
      },
      "conditionTemplateMacroRuntimeExpression": {
        "oneOf": [
          {
            "type": "boolean"
          },
          {
            "$ref": "#/definitions/runtimeExpression"
          },
          {
            "$ref": "#/definitions/macroExpression"
          },
          {
            "$ref": "#/definitions/templateExpression"
          },
          {
            "$ref": "#/definitions/functionExpression"
          },
          {
            "$ref": "#/definitions/conditionExpression"
          }
        ]
      },
      "integerTemplateExpression": {
        "oneOf": [
          {
            "type": "integer"
          },
          {
            "$ref": "#/definitions/templateExpression"
          },
          {
            "$ref": "#/definitions/functionExpression"
          }
        ]
      },
      "integerTemplateMacroExpression": {
        "oneOf": [
          {
            "type": "integer"
          },
          {
            "$ref": "#/definitions/macroExpression"
          },
          {
            "$ref": "#/definitions/templateExpression"
          },
          {
            "$ref": "#/definitions/functionExpression"
          }
        ]
      },
      "integerTemplateMacroRuntimeExpression": {
        "oneOf": [
          {
            "type": "integer"
          },
          {
            "$ref": "#/definitions/runtimeExpression"
          },
          {
            "$ref": "#/definitions/macroExpression"
          },
          {
            "$ref": "#/definitions/templateExpression"
          },
          {
            "$ref": "#/definitions/functionExpression"
          }
        ]
      },
      "templateMacroRuntimeExpression": {
        "oneOf": [
          {
            "$ref": "#/definitions/runtimeExpression"
          },
          {
            "$ref": "#/definitions/macroExpression"
          },
          {
            "$ref": "#/definitions/templateExpression"
          },
          {
            "$ref": "#/definitions/functionExpression"
          }
        ]
      },
      "macroExpression": {
        "type": "string",
        "pattern": "^\\$\\(.*\\)$"
      },
      "runtimeExpression": {
        "type": "string",
        "pattern": "^\\$\\[.*\\]$"
      },
      "templateExpression": {
        "type": "string",
        "pattern": "^\\${{.*}}$"
      },
      "functionExpression": {
        "type": "string",
        "pattern": "^(and|coalesce|contains|endsWith|eq|format|gt|ge|lt|le|in|not|ne|notIn|or|startsWith|xor)\\([a-z0-9\\, \\(\\)'\"\\[\\]\\.]*\\)$",
        "ignoreCase": "value"
      },
      "conditionExpression": {
        "type": "string",
        "pattern": "^(always|failed|canceled|succeded|succeededOrFailed)\\([a-z0-9\\, \\(\\)'\"\\[\\]\\.]*\\)$",
        "ignoreCase": "value"
      },
      "stepInsertExpression": {
        "type": "string",
        "description": "Conditionally insert one or more steps",
        "pattern": "^\\${{.*}}$"
      },
      "task": {
        "type": "object",
        "anyOf": [
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureVmssDeployment@0$",
                "description": "Azure VM scale set Deployment\n\nDeploy Virtual Machine scale set image",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "azureSubscription": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceName"
                    ]
                  },
                  "action": {
                    "description": "Action",
                    "ignoreCase": "all",
                    "enum": [
                      "Update image",
                      "Configure application startup"
                    ]
                  },
                  "vmssName": {
                    "description": "Virtual Machine scale set name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "vmssOsType": {
                    "description": "OS type",
                    "ignoreCase": "all",
                    "enum": [
                      "Windows",
                      "Linux"
                    ]
                  },
                  "imageUrl": {
                    "description": "Image URL",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "customScriptsDirectory": {
                    "description": "Custom script directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "customScript": {
                    "description": "Command",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "customScriptArguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "customScriptsStorageAccount": {
                    "description": "Azure storage account where custom scripts will be uploaded",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "skipArchivingCustomScripts": {
                    "description": "Skip Archiving custom scripts",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "azureSubscription",
                  "action",
                  "vmssName",
                  "vmssOsType",
                  "imageUrl"
                ],
                "additionalProperties": false,
                "description": "Azure VM scale set Deployment inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^XamariniOS@2$",
                "description": "Xamarin.iOS\n\nBuild an iOS app with Xamarin on macOS.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "solutionFile": {
                    "description": "Solution",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "solution"
                    ]
                  },
                  "configuration": {
                    "description": "Configuration",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "clean": {
                    "description": "Clean",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "packageApp": {
                    "description": "Create app package",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "buildForSimulator": {
                    "description": "Build for iOS Simulator",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "forSimulator"
                    ]
                  },
                  "runNugetRestore": {
                    "description": "Run NuGet restore",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "args": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingDirectory": {
                    "description": "Working directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "cwd"
                    ]
                  },
                  "mdtoolFile": {
                    "description": "Build tool path",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "buildToolLocation",
                      "mdtoolLocation"
                    ]
                  },
                  "signingIdentity": {
                    "description": "Signing identity",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "iosSigningIdentity"
                    ]
                  },
                  "signingProvisioningProfileID": {
                    "description": "Provisioning profile UUID",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "provProfileUuid"
                    ]
                  }
                },
                "required": [
                  "solutionFile",
                  "configuration",
                  "packageApp",
                  "runNugetRestore"
                ],
                "additionalProperties": false,
                "description": "Xamarin.iOS inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^XamariniOS@1$",
                "description": "Xamarin.iOS\n\nBuild an iOS app with Xamarin on macOS",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "solutionFile": {
                    "description": "Solution",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "solution"
                    ]
                  },
                  "configuration": {
                    "description": "Configuration",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "clean": {
                    "description": "Clean",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "packageApp": {
                    "description": "Create app package",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "buildForSimulator": {
                    "description": "Build for iOS Simulator",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "forSimulator"
                    ]
                  },
                  "runNugetRestore": {
                    "description": "Run NuGet restore",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "args": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingDirectory": {
                    "description": "Working directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "cwd"
                    ]
                  },
                  "buildToolOption": {
                    "description": "Build tool",
                    "ignoreCase": "all",
                    "enum": [
                      "xbuild",
                      "msbuild"
                    ],
                    "aliases": [
                      "buildTool"
                    ]
                  },
                  "mdtoolFile": {
                    "description": "Build tool path",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "mdtoolLocation"
                    ]
                  },
                  "signingOption": {
                    "description": "Override using",
                    "ignoreCase": "all",
                    "enum": [
                      "file",
                      "id"
                    ],
                    "aliases": [
                      "signMethod"
                    ]
                  },
                  "signingIdentity": {
                    "description": "Signing identity",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "iosSigningIdentity"
                    ]
                  },
                  "signingUnlockDefaultKeychain": {
                    "description": "Unlock default keychain",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "unlockDefaultKeychain"
                    ]
                  },
                  "signingDefaultKeychainPassword": {
                    "description": "Default keychain password",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "defaultKeychainPassword"
                    ]
                  },
                  "signingProvisioningProfileID": {
                    "description": "Provisioning profile UUID",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "provProfileUuid"
                    ]
                  },
                  "signingP12File": {
                    "description": "P12 certificate file",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "p12"
                    ]
                  },
                  "signingP12Password": {
                    "description": "P12 password",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "p12pwd"
                    ]
                  },
                  "signingProvisioningProfileFile": {
                    "description": "Provisioning profile file",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "provProfile"
                    ]
                  },
                  "signingRemoveProfile": {
                    "description": "Remove profile after build",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "removeProfile"
                    ]
                  }
                },
                "required": [
                  "solutionFile",
                  "configuration",
                  "packageApp",
                  "runNugetRestore",
                  "signingUnlockDefaultKeychain"
                ],
                "additionalProperties": false,
                "description": "Xamarin.iOS inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^DownloadPipelineArtifact@0$",
                "description": "Download Pipeline Artifact\n\nDownload Pipeline Artifact",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "pipelineId": {
                    "description": "The specific pipeline to download from",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "artifactName": {
                    "description": "The name of artifact to download.",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "targetPath": {
                    "description": "Path to download to",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "artifactName",
                  "targetPath"
                ],
                "additionalProperties": false,
                "description": "Download Pipeline Artifact inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^BatchScript@1$",
                "description": "Batch Script\n\nRun a windows cmd or bat script and optionally allow it to change the environment",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "filename": {
                    "description": "Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "modifyEnvironment": {
                    "description": "Modify Environment",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "workingFolder": {
                    "description": "Working folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "failOnStandardError": {
                    "description": "Fail on Standard Error",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "filename"
                ],
                "additionalProperties": false,
                "description": "Batch Script inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Go@0$",
                "description": "Go\n\nGet, build, or test a Go application, or run a custom Go command.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "command": {
                    "description": "Command",
                    "ignoreCase": "all",
                    "enum": [
                      "get",
                      "build",
                      "test",
                      "custom"
                    ]
                  },
                  "customCommand": {
                    "description": "Custom command",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingDirectory": {
                    "description": "Working directory",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "command",
                  "customCommand"
                ],
                "additionalProperties": false,
                "description": "Go inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^XamarinTestCloud@1$",
                "description": "Xamarin Test Cloud\n\n[Depreciated] Testing mobile apps with Xamarin Test Cloud using Xamarin.UITest - recommended task is now AppCenterTest",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "appFile": {
                    "description": "App file",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "app"
                    ]
                  },
                  "dsymFile": {
                    "description": "dSYM file (iOS only)",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "dsym"
                    ]
                  },
                  "teamApiKey": {
                    "description": "Team API key",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "email": {
                    "description": "User email",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "user"
                    ]
                  },
                  "devices": {
                    "description": "Devices",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "series": {
                    "description": "Series",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testAssemblyDirectory": {
                    "description": "Test assembly directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "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": {
                    "description": "Other locale",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testCloudFile": {
                    "description": "test-cloud.exe location",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "testCloudLocation"
                    ]
                  },
                  "optionalArgs": {
                    "description": "Optional arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "publishNUnitResults": {
                    "description": "Publish results to Azure Pipelines/TFS",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "appFile",
                  "teamApiKey",
                  "email",
                  "devices",
                  "series",
                  "testAssemblyDirectory",
                  "parallelizationOption",
                  "localeOption",
                  "testCloudFile"
                ],
                "additionalProperties": false,
                "description": "Xamarin Test Cloud inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^UniversalPackages@0$",
                "description": "Universal Packages\n\nDownload or publish Universal Packages.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "command": {
                    "description": "Command",
                    "ignoreCase": "all",
                    "enum": [
                      "download",
                      "publish"
                    ]
                  },
                  "downloadDirectory": {
                    "description": "Destination directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "downloadDirectory"
                    ]
                  },
                  "feedsToUse": {
                    "description": "Feed location",
                    "ignoreCase": "all",
                    "enum": [
                      "internal",
                      "external"
                    ],
                    "aliases": [
                      "internalOrExternalDownload"
                    ]
                  },
                  "externalFeedCredentials": {
                    "description": "Account/collection connection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "externalEndpoint"
                    ]
                  },
                  "vstsFeed": {
                    "description": "Feed",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "feedListDownload"
                    ]
                  },
                  "vstsFeedPackage": {
                    "description": "Package name",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "packageListDownload"
                    ]
                  },
                  "vstsPackageVersion": {
                    "description": "Version",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "versionListDownload"
                    ]
                  },
                  "feedDownloadExternal": {
                    "description": "Feed",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "packageDownloadExternal": {
                    "description": "Package name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "versionDownloadExternal": {
                    "description": "Version",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "publishDirectory": {
                    "description": "Path to file(s) to publish",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "publishDirectory"
                    ]
                  },
                  "feedsToUsePublish": {
                    "description": "Feed location",
                    "ignoreCase": "all",
                    "enum": [
                      "internal",
                      "external"
                    ],
                    "aliases": [
                      "internalOrExternalPublish"
                    ]
                  },
                  "publishFeedCredentials": {
                    "description": "Account/collection connection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "externalEndpoints"
                    ]
                  },
                  "vstsFeedPublish": {
                    "description": "Destination Feed",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "feedListPublish"
                    ]
                  },
                  "vstsFeedPackagePublish": {
                    "description": "Package name",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "packageListPublish"
                    ]
                  },
                  "feedPublishExternal": {
                    "description": "Feed",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "packagePublishExternal": {
                    "description": "Package name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "versionOption": {
                    "description": "Version",
                    "ignoreCase": "all",
                    "enum": [
                      "major",
                      "minor",
                      "patch",
                      "custom"
                    ],
                    "aliases": [
                      "versionPublishSelector"
                    ]
                  },
                  "versionPublish": {
                    "description": "Custom version",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "packagePublishDescription": {
                    "description": "Description",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "verbosity": {
                    "description": "Verbosity",
                    "ignoreCase": "all",
                    "enum": [
                      "None",
                      "Trace",
                      "Debug",
                      "Information",
                      "Warning",
                      "Error",
                      "Critical"
                    ]
                  }
                },
                "required": [
                  "command",
                  "downloadDirectory",
                  "feedsToUse",
                  "vstsFeed",
                  "vstsFeedPackage",
                  "vstsPackageVersion",
                  "feedDownloadExternal",
                  "packageDownloadExternal",
                  "versionDownloadExternal",
                  "publishDirectory",
                  "feedsToUsePublish",
                  "publishFeedCredentials",
                  "vstsFeedPublish",
                  "vstsFeedPackagePublish",
                  "feedPublishExternal",
                  "packagePublishExternal",
                  "versionOption",
                  "versionPublish"
                ],
                "additionalProperties": false,
                "description": "Universal Packages inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^CocoaPods@0$",
                "description": "CocoaPods\n\nCocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. This task runs 'pod install'.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "workingDirectory": {
                    "description": "Working directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "cwd"
                    ]
                  },
                  "forceRepoUpdate": {
                    "description": "Force repo update",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "projectDirectory": {
                    "description": "Project directory",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "forceRepoUpdate"
                ],
                "additionalProperties": false,
                "description": "CocoaPods inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^CondaEnvironment@0$",
                "description": "Conda Environment\n\nCreate and activate a Conda environment.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "environmentName": {
                    "description": "Environment name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "packageSpecs": {
                    "description": "Package specs",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "updateConda": {
                    "description": "Update to the latest Conda",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "createOptions": {
                    "description": "Environment creation options",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "cleanEnvironment": {
                    "description": "Clean the environment",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "environmentName"
                ],
                "additionalProperties": false,
                "description": "Conda Environment inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^CondaEnvironment@1$",
                "description": "Conda Environment\n\nCreate and activate a Conda environment.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "createCustomEnvironment": {
                    "description": "Create a custom environment",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "environmentName": {
                    "description": "Environment name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "packageSpecs": {
                    "description": "Package specs",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "updateConda": {
                    "description": "Update to the latest Conda",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "installOptions": {
                    "description": "Other options for `conda install`",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "createOptions": {
                    "description": "Other options for `conda create`",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "cleanEnvironment": {
                    "description": "Clean the environment",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "environmentName"
                ],
                "additionalProperties": false,
                "description": "Conda Environment inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AppCenterDistribute@1$",
                "description": "App Center Distribute\n\nDistribute app builds to testers and users via App Center",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "serverEndpoint": {
                    "description": "App Center service connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "appSlug": {
                    "description": "App slug",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "appFile": {
                    "description": "Binary file path",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "app"
                    ]
                  },
                  "symbolsOption": {
                    "description": "Symbols type",
                    "ignoreCase": "all",
                    "enum": [
                      "Apple"
                    ],
                    "aliases": [
                      "symbolsType"
                    ]
                  },
                  "symbolsPath": {
                    "description": "Symbols path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "symbolsPdbFiles": {
                    "description": "Symbols path (*.pdb)",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "pdbPath"
                    ]
                  },
                  "symbolsDsymFiles": {
                    "description": "dSYM path",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "dsymPath"
                    ]
                  },
                  "symbolsMappingTxtFile": {
                    "description": "Mapping file",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "mappingTxtPath"
                    ]
                  },
                  "symbolsIncludeParentDirectory": {
                    "description": "Include all items in parent folder",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "packParentFolder"
                    ]
                  },
                  "releaseNotesOption": {
                    "description": "Create release notes",
                    "ignoreCase": "all",
                    "enum": [
                      "input",
                      "file"
                    ],
                    "aliases": [
                      "releaseNotesSelection"
                    ]
                  },
                  "releaseNotesInput": {
                    "description": "Release notes",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "releaseNotesFile": {
                    "description": "Release notes file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "distributionGroupId": {
                    "description": "Destination ID",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "destinationId"
                    ]
                  }
                },
                "required": [
                  "serverEndpoint",
                  "appSlug",
                  "appFile",
                  "releaseNotesOption",
                  "releaseNotesInput",
                  "releaseNotesFile"
                ],
                "additionalProperties": false,
                "description": "App Center Distribute inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AppCenterDistribute@0$",
                "description": "App Center Distribute\n\nDistribute app builds to testers and users via App Center",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "serverEndpoint": {
                    "description": "App Center connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "appSlug": {
                    "description": "App slug",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "appFile": {
                    "description": "Binary file path",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "app"
                    ]
                  },
                  "symbolsOption": {
                    "description": "Symbols type",
                    "ignoreCase": "all",
                    "enum": [
                      "Apple"
                    ],
                    "aliases": [
                      "symbolsType"
                    ]
                  },
                  "symbolsPath": {
                    "description": "Symbols path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "symbolsPdbFiles": {
                    "description": "Symbols path (*.pdb)",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "pdbPath"
                    ]
                  },
                  "symbolsDsymFiles": {
                    "description": "dSYM path",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "dsymPath"
                    ]
                  },
                  "symbolsMappingTxtFile": {
                    "description": "Mapping file",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "mappingTxtPath"
                    ]
                  },
                  "symbolsIncludeParentDirectory": {
                    "description": "Include all items in parent folder",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "packParentFolder"
                    ]
                  },
                  "releaseNotesOption": {
                    "description": "Create release notes",
                    "ignoreCase": "all",
                    "enum": [
                      "input",
                      "file"
                    ],
                    "aliases": [
                      "releaseNotesSelection"
                    ]
                  },
                  "releaseNotesInput": {
                    "description": "Release notes",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "releaseNotesFile": {
                    "description": "Release notes file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "distributionGroupId": {
                    "description": "Distribution group ID",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "serverEndpoint",
                  "appSlug",
                  "appFile",
                  "releaseNotesOption",
                  "releaseNotesInput",
                  "releaseNotesFile"
                ],
                "additionalProperties": false,
                "description": "App Center Distribute inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^NuGetPublisher@0$",
                "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 account/collection, and uses NuGet 4 by default.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "searchPattern": {
                    "description": "Path/Pattern to nupkg",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "nuGetFeedType": {
                    "description": "Feed type",
                    "ignoreCase": "all",
                    "enum": [
                      "external",
                      "internal"
                    ]
                  },
                  "connectedServiceName": {
                    "description": "NuGet Service Connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "feedName": {
                    "description": "Internal Feed URL",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "nuGetAdditionalArgs": {
                    "description": "NuGet Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "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": {
                    "description": "Path to NuGet.exe",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "continueOnEmptyNupkgMatch": {
                    "description": "Continue if no packages match the \"Path/Pattern to nupkg\"",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "searchPattern",
                  "nuGetFeedType",
                  "connectedServiceName",
                  "feedName",
                  "nuGetVersion"
                ],
                "additionalProperties": false,
                "description": "NuGet Publisher inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^HelmInstaller@0$",
                "description": "Helm tool installer\n\nInstall Helm and Kubernetes on agent machine.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "helmVersion": {
                    "description": "Helm Version Spec",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "checkLatestHelmVersion": {
                    "description": "Check for latest version of Helm",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "installKubectl": {
                    "description": "Install Kubectl",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "installKubeCtl"
                    ]
                  },
                  "kubectlVersion": {
                    "description": "Kubectl Version Spec",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "checkLatestKubectl": {
                    "description": "Check for latest version of kubectl",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "checkLatestKubeCtl"
                    ]
                  }
                },
                "required": [
                  "helmVersion",
                  "installKubectl"
                ],
                "additionalProperties": false,
                "description": "Helm tool installer inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Npm@1$",
                "description": "npm\n\nInstall and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Package Management.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "command": {
                    "description": "Command",
                    "ignoreCase": "all",
                    "enum": [
                      "install",
                      "publish",
                      "custom"
                    ]
                  },
                  "workingDir": {
                    "description": "Working folder with package.json",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "verbose": {
                    "description": "Verbose logging",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "customCommand": {
                    "description": "Command and arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "customRegistry": {
                    "description": "Registries to use",
                    "ignoreCase": "all",
                    "enum": [
                      "useNpmrc",
                      "useFeed"
                    ]
                  },
                  "customFeed": {
                    "description": "Use packages from this Azure Artifacts/TFS registry",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "customEndpoint": {
                    "description": "Credentials for registries outside this account/collection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "publishRegistry": {
                    "description": "Registry location",
                    "ignoreCase": "all",
                    "enum": [
                      "useExternalRegistry",
                      "useFeed"
                    ]
                  },
                  "publishFeed": {
                    "description": "Target registry",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "publishEndpoint": {
                    "description": "External Registry",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "command",
                  "customCommand",
                  "customFeed",
                  "publishFeed",
                  "publishEndpoint"
                ],
                "additionalProperties": false,
                "description": "npm inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Npm@0$",
                "description": "npm\n\nRun an npm command",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "cwd": {
                    "description": "working folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "command": {
                    "description": "npm command",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "command"
                ],
                "additionalProperties": false,
                "description": "npm inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AndroidSigning@1$",
                "description": "Android Signing\n\nSign and align Android APK files",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "files": {
                    "description": "APK Files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "jarsign": {
                    "description": "Sign the APK",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "keystoreFile": {
                    "description": "Keystore File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "keystorePass": {
                    "description": "Keystore Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "keystoreAlias": {
                    "description": "Alias",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "keyPass": {
                    "description": "Key Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "jarsignerArguments": {
                    "description": "Jarsigner Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "zipalign": {
                    "description": "Zipalign",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "zipalignLocation": {
                    "description": "Zipalign Location",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "files",
                  "keystoreFile"
                ],
                "additionalProperties": false,
                "description": "Android Signing inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AndroidSigning@2$",
                "description": "Android Signing\n\nSign and align Android APK files",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "apkFiles": {
                    "description": "APK files",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "files"
                    ]
                  },
                  "jarsign": {
                    "description": "Sign the APK",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "jarsignerKeystoreFile": {
                    "description": "Keystore file",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "keystoreFile"
                    ]
                  },
                  "jarsignerKeystorePassword": {
                    "description": "Keystore password",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "keystorePass"
                    ]
                  },
                  "jarsignerKeystoreAlias": {
                    "description": "Alias",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "keystoreAlias"
                    ]
                  },
                  "jarsignerKeyPassword": {
                    "description": "Key password",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "keyPass"
                    ]
                  },
                  "jarsignerArguments": {
                    "description": "Jarsigner arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "zipalign": {
                    "description": "Zipalign",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "zipalignFile": {
                    "description": "Zipalign location",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "zipalignLocation"
                    ]
                  }
                },
                "required": [
                  "apkFiles",
                  "jarsignerKeystoreFile"
                ],
                "additionalProperties": false,
                "description": "Android Signing inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AndroidSigning@3$",
                "description": "Android Signing\n\nSign and align Android APK files",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "apkFiles": {
                    "description": "APK files",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "files"
                    ]
                  },
                  "apksign": {
                    "description": "Sign the APK",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "apksignerKeystoreFile": {
                    "description": "Keystore file",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "keystoreFile"
                    ]
                  },
                  "apksignerKeystorePassword": {
                    "description": "Keystore password",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "keystorePass"
                    ]
                  },
                  "apksignerKeystoreAlias": {
                    "description": "Alias",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "keystoreAlias"
                    ]
                  },
                  "apksignerKeyPassword": {
                    "description": "Key password",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "keyPass"
                    ]
                  },
                  "apksignerArguments": {
                    "description": "apksigner arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "apksignerFile": {
                    "description": "apksigner location",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "apksignerLocation"
                    ]
                  },
                  "zipalign": {
                    "description": "Zipalign",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "zipalignFile": {
                    "description": "Zipalign location",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "zipalignLocation"
                    ]
                  }
                },
                "required": [
                  "apkFiles",
                  "apksignerKeystoreFile"
                ],
                "additionalProperties": false,
                "description": "Android Signing inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^WindowsMachineFileCopy@1$",
                "description": "Windows Machine File Copy\n\nCopy files to remote machine(s)",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "SourcePath": {
                    "description": "Source",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "EnvironmentName": {
                    "description": "Machines",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AdminUserName": {
                    "description": "Admin Login",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AdminPassword": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "TargetPath": {
                    "description": "Destination Folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "CleanTargetBeforeCopy": {
                    "description": "Clean Target",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "CopyFilesInParallel": {
                    "description": "Copy Files in Parallel",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "AdditionalArguments": {
                    "description": "Additional Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ResourceFilteringMethod": {
                    "description": "Select Machines By",
                    "ignoreCase": "all",
                    "enum": [
                      "machineNames",
                      "tags"
                    ]
                  },
                  "MachineNames": {
                    "description": "Filter Criteria",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "SourcePath",
                  "TargetPath"
                ],
                "additionalProperties": false,
                "description": "Windows Machine File Copy inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^WindowsMachineFileCopy@2$",
                "description": "Windows Machine File Copy\n\nCopy files to remote machine(s)",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "SourcePath": {
                    "description": "Source",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "MachineNames": {
                    "description": "Machines",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AdminUserName": {
                    "description": "Admin Login",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AdminPassword": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "TargetPath": {
                    "description": "Destination Folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "CleanTargetBeforeCopy": {
                    "description": "Clean Target",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "CopyFilesInParallel": {
                    "description": "Copy Files in Parallel",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "AdditionalArguments": {
                    "description": "Additional Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "SourcePath",
                  "TargetPath"
                ],
                "additionalProperties": false,
                "description": "Windows Machine File Copy inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^DeleteFiles@1$",
                "description": "Delete Files\n\nDelete files or folders. (The minimatch patterns will only match file paths, not folder paths)",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "SourceFolder": {
                    "description": "Source Folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Contents": {
                    "description": "Contents",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "Contents"
                ],
                "additionalProperties": false,
                "description": "Delete Files inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Chef@1$",
                "description": "Chef\n\nDeploy to Chef environments by editing environment attributes",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "connectedServiceName": {
                    "description": "Chef Service Connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Environment": {
                    "description": "Environment",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Attributes": {
                    "description": "Environment Attributes",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "chefWaitTime": {
                    "description": "Wait Time",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "connectedServiceName",
                  "Environment",
                  "Attributes",
                  "chefWaitTime"
                ],
                "additionalProperties": false,
                "description": "Chef inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^UsePythonVersion@0$",
                "description": "Use Python Version\n\nRetrieves the specified version of Python from the tool cache. Optionally add it to PATH.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "versionSpec": {
                    "description": "Version spec",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "addToPath": {
                    "description": "Add to PATH",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "architecture": {
                    "description": "Architecture",
                    "ignoreCase": "all",
                    "enum": [
                      "x86",
                      "x64"
                    ]
                  }
                },
                "required": [
                  "versionSpec",
                  "addToPath",
                  "architecture"
                ],
                "additionalProperties": false,
                "description": "Use Python Version inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^ServiceFabricComposeDeploy@0$",
                "description": "Service Fabric Compose Deploy\n\nDeploy a docker-compose application to a Service Fabric cluster.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "clusterConnection": {
                    "description": "Cluster Service Connection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "serviceConnectionName"
                    ]
                  },
                  "composeFilePath": {
                    "description": "Compose File Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "applicationName": {
                    "description": "Application Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "registryCredentials": {
                    "description": "Registry Credentials Source",
                    "ignoreCase": "all",
                    "enum": [
                      "AzureResourceManagerEndpoint",
                      "ContainerRegistryEndpoint",
                      "UsernamePassword",
                      "None"
                    ]
                  },
                  "dockerRegistryConnection": {
                    "description": "Docker Registry Service Connection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "dockerRegistryEndpointName"
                    ]
                  },
                  "azureSubscription": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "azureSubscriptionEndpoint"
                    ]
                  },
                  "registryUserName": {
                    "description": "Registry User Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "registryPassword": {
                    "description": "Registry Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "passwordEncrypted": {
                    "description": "Password Encrypted",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "upgrade": {
                    "description": "Upgrade",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "deployTimeoutSec": {
                    "description": "Deploy Timeout (s)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "removeTimeoutSec": {
                    "description": "Remove Timeout (s)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "getStatusTimeoutSec": {
                    "description": "Get Status Timeout (s)",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "clusterConnection",
                  "composeFilePath",
                  "applicationName",
                  "registryCredentials",
                  "azureSubscription"
                ],
                "additionalProperties": false,
                "description": "Service Fabric Compose Deploy inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^DockerCompose@0$",
                "description": "Docker Compose\n\nBuild, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "containerregistrytype": {
                    "description": "Container Registry Type",
                    "ignoreCase": "all",
                    "enum": [
                      "Azure Container Registry",
                      "Container Registry"
                    ]
                  },
                  "dockerRegistryEndpoint": {
                    "description": "Docker Registry Service Connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "azureSubscription": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "azureSubscriptionEndpoint"
                    ]
                  },
                  "azureContainerRegistry": {
                    "description": "Azure Container Registry",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "dockerComposeFile": {
                    "description": "Docker Compose File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "additionalDockerComposeFiles": {
                    "description": "Additional Docker Compose Files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "dockerComposeFileArgs": {
                    "description": "Environment Variables",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "projectName": {
                    "description": "Project Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "qualifyImageNames": {
                    "description": "Qualify Image Names",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "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": {
                    "description": "Additional Image Tags",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "includeSourceTags": {
                    "description": "Include Source Tags",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "includeLatestTag": {
                    "description": "Include Latest Tag",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "buildImages": {
                    "description": "Build Images",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "serviceName": {
                    "description": "Service Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "containerName": {
                    "description": "Container Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ports": {
                    "description": "Ports",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingDirectory": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "workDir"
                    ]
                  },
                  "entrypoint": {
                    "description": "Entry Point Override",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "containerCommand": {
                    "description": "Command",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "detached": {
                    "description": "Run in Background",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "abortOnContainerExit": {
                    "description": "Abort on Container Exit",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "imageDigestComposeFile": {
                    "description": "Image Digest Compose File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "removeBuildOptions": {
                    "description": "Remove Build Options",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "baseResolveDirectory": {
                    "description": "Base Resolve Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "outputDockerComposeFile": {
                    "description": "Output Docker Compose File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "dockerComposeCommand": {
                    "description": "Command",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "dockerHostEndpoint": {
                    "description": "Docker Host Service Connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "nopIfNoDockerComposeFile": {
                    "description": "No-op if no Docker Compose File",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "requireAdditionalDockerComposeFiles": {
                    "description": "Require Additional Docker Compose Files",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "currentWorkingDirectory": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "cwd"
                    ]
                  }
                },
                "required": [
                  "containerregistrytype",
                  "dockerComposeFile",
                  "action",
                  "serviceName",
                  "imageDigestComposeFile",
                  "outputDockerComposeFile",
                  "dockerComposeCommand"
                ],
                "additionalProperties": false,
                "description": "Docker Compose inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task"
            ],
            "properties": {
              "task": {
                "pattern": "^TwineAuthenticate@0$",
                "description": "Python Twine Upload Authenticate\n\nAuthentication for uploading python distributions using twine. Please add -r FeedName/EndpointName --config-file $(PYPIRC_PATH) to your twine upload command. For feeds present in this organization use feed name as repository(-r) otherwise use the endpoint name defined in the service connection.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "artifactFeeds": {
                    "description": "My feeds (select below)",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "feedList"
                    ]
                  },
                  "externalFeeds": {
                    "description": "Feeds from external organizations",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "externalSources"
                    ]
                  }
                },
                "required": [],
                "additionalProperties": false,
                "description": "Python Twine Upload Authenticate inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^NuGetToolInstaller@0$",
                "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"
              },
              "inputs": {
                "properties": {
                  "versionSpec": {
                    "description": "Version of NuGet.exe to install",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "checkLatest": {
                    "description": "Always download the latest matching version",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "versionSpec"
                ],
                "additionalProperties": false,
                "description": "NuGet Tool Installer inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task"
            ],
            "properties": {
              "task": {
                "pattern": "^PipAuthenticate@0$",
                "description": "Python Pip Authenticate\n\nAuthentication task for pip client used for installing python distributions.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "artifactFeeds": {
                    "description": "My feeds (select below)",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "feedList"
                    ]
                  },
                  "externalFeeds": {
                    "description": "Feeds from external organizations",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "externalSources"
                    ]
                  }
                },
                "required": [],
                "additionalProperties": false,
                "description": "Python Pip Authenticate inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Gradle@1$",
                "description": "Gradle\n\nBuild using a Gradle wrapper script",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "gradleWrapperFile": {
                    "description": "Gradle Wrapper",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "wrapperScript"
                    ]
                  },
                  "options": {
                    "description": "Options",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "tasks": {
                    "description": "Tasks",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingDirectory": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "cwd"
                    ]
                  },
                  "publishJUnitResults": {
                    "description": "Publish to TFS/Team Services",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "testResultsFiles": {
                    "description": "Test Results Files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testRunTitle": {
                    "description": "Test Run Title",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "codeCoverageToolOption": {
                    "description": "Code Coverage Tool",
                    "ignoreCase": "all",
                    "enum": [
                      "None",
                      "Cobertura",
                      "JaCoCo"
                    ],
                    "aliases": [
                      "codeCoverageTool"
                    ]
                  },
                  "codeCoverageClassFilesDirectories": {
                    "description": "Class Files Directories",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "classFilesDirectories"
                    ]
                  },
                  "codeCoverageClassFilter": {
                    "description": "Class Inclusion/Exclusion Filters",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "classFilter"
                    ]
                  },
                  "codeCoverageFailIfEmpty": {
                    "description": "Fail When Code Coverage Results Are Missing",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "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": {
                    "description": "JDK Path",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "jdkUserInputPath"
                    ]
                  },
                  "jdkArchitectureOption": {
                    "description": "JDK Architecture",
                    "ignoreCase": "all",
                    "enum": [
                      "x86",
                      "x64"
                    ],
                    "aliases": [
                      "jdkArchitecture"
                    ]
                  },
                  "gradleOptions": {
                    "description": "Set GRADLE_OPTS",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "gradleOpts"
                    ]
                  },
                  "sonarQubeRunAnalysis": {
                    "description": "Run SonarQube Analysis",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "sqAnalysisEnabled"
                    ]
                  },
                  "sonarQubeServiceEndpoint": {
                    "description": "SonarQube Endpoint",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "sqConnectedServiceName"
                    ]
                  },
                  "sonarQubeProjectName": {
                    "description": "SonarQube Project Name",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "sqProjectName"
                    ]
                  },
                  "sonarQubeProjectKey": {
                    "description": "SonarQube Project Key",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "sqProjectKey"
                    ]
                  },
                  "sonarQubeProjectVersion": {
                    "description": "SonarQube Project Version",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "sqProjectVersion"
                    ]
                  },
                  "sonarQubeGradlePluginVersion": {
                    "description": "SonarQube Gradle Plugin Version",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "sqGradlePluginVersion"
                    ]
                  },
                  "sonarQubeSpecifyDB": {
                    "description": "The SonarQube server version is lower than 5.2",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "sqDbDetailsRequired"
                    ]
                  },
                  "sonarQubeDBUrl": {
                    "description": "Db Connection String",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "sqDbUrl"
                    ]
                  },
                  "sonarQubeDBUsername": {
                    "description": "Db Username",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "sqDbUsername"
                    ]
                  },
                  "sonarQubeDBPassword": {
                    "description": "Db User Password",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "sqDbPassword"
                    ]
                  },
                  "sonarQubeIncludeFullReport": {
                    "description": "Include full analysis report in the build summary (SQ 5.3+)",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "sqAnalysisIncludeFullReport"
                    ]
                  },
                  "sonarQubeFailWhenQualityGateFails": {
                    "description": "Fail the build on quality gate failure (SQ 5.3+)",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "sqAnalysisBreakBuildIfQualityGateFailed"
                    ]
                  },
                  "checkStyleRunAnalysis": {
                    "description": "Run Checkstyle",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "checkstyleAnalysisEnabled"
                    ]
                  },
                  "findBugsRunAnalysis": {
                    "description": "Run FindBugs",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "findbugsAnalysisEnabled"
                    ]
                  },
                  "pmdRunAnalysis": {
                    "description": "Run PMD",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "pmdAnalysisEnabled"
                    ]
                  }
                },
                "required": [
                  "gradleWrapperFile",
                  "tasks",
                  "publishJUnitResults",
                  "testResultsFiles",
                  "codeCoverageClassFilesDirectories",
                  "javaHomeOption",
                  "jdkDirectory",
                  "sonarQubeRunAnalysis",
                  "sonarQubeServiceEndpoint",
                  "sonarQubeProjectName",
                  "sonarQubeProjectKey",
                  "sonarQubeProjectVersion",
                  "sonarQubeGradlePluginVersion",
                  "sonarQubeSpecifyDB"
                ],
                "additionalProperties": false,
                "description": "Gradle inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Gradle@2$",
                "description": "Gradle\n\nBuild using a Gradle wrapper script",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "gradleWrapperFile": {
                    "description": "Gradle wrapper",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "wrapperScript"
                    ]
                  },
                  "workingDirectory": {
                    "description": "Working directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "cwd"
                    ]
                  },
                  "options": {
                    "description": "Options",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "tasks": {
                    "description": "Tasks",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "publishJUnitResults": {
                    "description": "Publish to Azure Pipelines/TFS",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "testResultsFiles": {
                    "description": "Test results files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testRunTitle": {
                    "description": "Test run title",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "codeCoverageToolOption": {
                    "description": "Code coverage tool",
                    "ignoreCase": "all",
                    "enum": [
                      "None",
                      "Cobertura",
                      "JaCoCo"
                    ],
                    "aliases": [
                      "codeCoverageTool"
                    ]
                  },
                  "codeCoverageClassFilesDirectories": {
                    "description": "Class files directories",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "classFilesDirectories"
                    ]
                  },
                  "codeCoverageClassFilter": {
                    "description": "Class inclusion/exclusion filters",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "classFilter"
                    ]
                  },
                  "codeCoverageFailIfEmpty": {
                    "description": "Fail when code coverage results are missing",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "failIfCoverageEmpty"
                    ]
                  },
                  "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"
                    ]
                  },
                  "jdkDirectory": {
                    "description": "JDK path",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "jdkUserInputPath"
                    ]
                  },
                  "jdkArchitectureOption": {
                    "description": "JDK architecture",
                    "ignoreCase": "all",
                    "enum": [
                      "x86",
                      "x64"
                    ],
                    "aliases": [
                      "jdkArchitecture"
                    ]
                  },
                  "gradleOptions": {
                    "description": "Set GRADLE_OPTS",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "gradleOpts"
                    ]
                  },
                  "sonarQubeRunAnalysis": {
                    "description": "Run SonarQube or SonarCloud Analysis",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "sqAnalysisEnabled"
                    ]
                  },
                  "sqGradlePluginVersionChoice": {
                    "description": "SonarQube scanner for Gradle version",
                    "ignoreCase": "all",
                    "enum": [
                      "specify",
                      "build"
                    ]
                  },
                  "sonarQubeGradlePluginVersion": {
                    "description": "SonarQube scanner for Gradle plugin version",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "sqGradlePluginVersion"
                    ]
                  },
                  "checkStyleRunAnalysis": {
                    "description": "Run Checkstyle",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "checkstyleAnalysisEnabled"
                    ]
                  },
                  "findBugsRunAnalysis": {
                    "description": "Run FindBugs",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "findbugsAnalysisEnabled"
                    ]
                  },
                  "pmdRunAnalysis": {
                    "description": "Run PMD",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "pmdAnalysisEnabled"
                    ]
                  }
                },
                "required": [
                  "gradleWrapperFile",
                  "tasks",
                  "publishJUnitResults",
                  "testResultsFiles",
                  "codeCoverageClassFilesDirectories",
                  "javaHomeOption",
                  "jdkDirectory",
                  "sonarQubeRunAnalysis",
                  "sqGradlePluginVersionChoice",
                  "sonarQubeGradlePluginVersion"
                ],
                "additionalProperties": false,
                "description": "Gradle inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^SSH@0$",
                "description": "SSH\n\nRun shell commands or a script on a remote machine using SSH",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "sshEndpoint": {
                    "description": "SSH service connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "runOptions": {
                    "description": "Run",
                    "ignoreCase": "all",
                    "enum": [
                      "commands",
                      "script",
                      "inline"
                    ]
                  },
                  "commands": {
                    "description": "Commands",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "scriptPath": {
                    "description": "Shell script path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "inline": {
                    "description": "Inline Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "args": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "failOnStdErr": {
                    "description": "Fail on STDERR",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "sshEndpoint",
                  "runOptions",
                  "commands",
                  "scriptPath",
                  "inline"
                ],
                "additionalProperties": false,
                "description": "SSH inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^CloudLoadTest@1$",
                "description": "Cloud-based Load Test\n\nRuns the load test in the cloud with Azure Pipelines",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "connectedServiceName": {
                    "description": "Azure Pipelines Connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "TestDrop": {
                    "description": "Load test files folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "LoadTest": {
                    "description": "Load test file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "activeRunSettings": {
                    "description": "Active Run Settings",
                    "ignoreCase": "all",
                    "enum": [
                      "useFile",
                      "changeActive"
                    ]
                  },
                  "runSettingName": {
                    "description": "Specify the name of the Run Settings",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testContextParameters": {
                    "description": "Override load test context parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "TestSettings": {
                    "description": "Test settings file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ThresholdLimit": {
                    "description": "Number of permissible threshold violations",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "MachineType": {
                    "description": "Run load test using",
                    "ignoreCase": "all",
                    "enum": [
                      "0",
                      "2"
                    ]
                  },
                  "resourceGroupName": {
                    "description": "Resource group rig",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "numOfSelfProvisionedAgents": {
                    "description": "Number of agents to use",
                    "ignoreCase": "key",
                    "type": "integer"
                  }
                },
                "required": [
                  "TestDrop",
                  "LoadTest",
                  "runSettingName",
                  "MachineType"
                ],
                "additionalProperties": false,
                "description": "Cloud-based Load Test inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^PublishToAzureServiceBus@0$",
                "description": "Publish To Azure Service Bus\n\nSends a message to azure service bus using a service connection (no agent required).",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "azureSubscription": {
                    "description": "Azure service bus connection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "connectedServiceName"
                    ]
                  },
                  "messageBody": {
                    "description": "Message body",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "waitForCompletion": {
                    "description": "Wait for task completion",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "azureSubscription",
                  "messageBody",
                  "waitForCompletion"
                ],
                "additionalProperties": false,
                "description": "Publish To Azure Service Bus inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^PublishToAzureServiceBus@1$",
                "description": "Publish To Azure Service Bus\n\nSends a message to azure service bus using a service connection (no agent required).",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "azureSubscription": {
                    "description": "Azure Service Bus service connection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "connectedServiceName"
                    ]
                  },
                  "messageBody": {
                    "description": "Message body",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "signPayload": {
                    "description": "Sign the Message",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "certificateString": {
                    "description": "Certificate Variable",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "signatureKey": {
                    "description": "Signature Property Key",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "waitForCompletion": {
                    "description": "Wait for task completion",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "azureSubscription",
                  "signPayload",
                  "certificateString",
                  "waitForCompletion"
                ],
                "additionalProperties": false,
                "description": "Publish To Azure Service Bus inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureKeyVault@1$",
                "description": "Azure Key Vault\n\nDownload Azure Key Vault Secrets",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "azureSubscription": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceName"
                    ]
                  },
                  "KeyVaultName": {
                    "description": "Key vault",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SecretsFilter": {
                    "description": "Secrets filter",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "azureSubscription",
                  "KeyVaultName",
                  "SecretsFilter"
                ],
                "additionalProperties": false,
                "description": "Azure Key Vault inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^InvokeRESTAPI@0$",
                "description": "Invoke REST API\n\nInvoke REST API as a part of your process.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "serviceConnection": {
                    "description": "Generic endpoint",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "connectedServiceName"
                    ]
                  },
                  "method": {
                    "description": "Method",
                    "ignoreCase": "all",
                    "enum": [
                      "OPTIONS",
                      "GET",
                      "HEAD",
                      "POST",
                      "PUT",
                      "DELETE",
                      "TRACE",
                      "PATCH"
                    ]
                  },
                  "headers": {
                    "description": "Headers",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "body": {
                    "description": "Body",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "urlSuffix": {
                    "description": "Url suffix string",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "waitForCompletion": {
                    "description": "Complete based on",
                    "ignoreCase": "all",
                    "enum": [
                      "true",
                      "false"
                    ]
                  },
                  "successCriteria": {
                    "description": "Success criteria",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "serviceConnection",
                  "method",
                  "waitForCompletion"
                ],
                "additionalProperties": false,
                "description": "Invoke REST API inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^InvokeRESTAPI@1$",
                "description": "Invoke REST API\n\nInvoke a REST API as a part of your pipeline.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "connectionType": {
                    "description": "Connection type",
                    "ignoreCase": "all",
                    "enum": [
                      "connectedServiceName",
                      "connectedServiceNameARM"
                    ],
                    "aliases": [
                      "connectedServiceNameSelector"
                    ]
                  },
                  "serviceConnection": {
                    "description": "Generic service connection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "connectedServiceName"
                    ]
                  },
                  "azureServiceConnection": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "connectedServiceNameARM"
                    ]
                  },
                  "method": {
                    "description": "Method",
                    "ignoreCase": "all",
                    "enum": [
                      "OPTIONS",
                      "GET",
                      "HEAD",
                      "POST",
                      "PUT",
                      "DELETE",
                      "TRACE",
                      "PATCH"
                    ]
                  },
                  "headers": {
                    "description": "Headers",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "body": {
                    "description": "Body",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "urlSuffix": {
                    "description": "URL suffix and parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "waitForCompletion": {
                    "description": "Completion event",
                    "ignoreCase": "all",
                    "enum": [
                      "true",
                      "false"
                    ]
                  },
                  "successCriteria": {
                    "description": "Success criteria",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "connectionType",
                  "serviceConnection",
                  "azureServiceConnection",
                  "method",
                  "waitForCompletion"
                ],
                "additionalProperties": false,
                "description": "Invoke REST API inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^InstallAppleCertificate@1$",
                "description": "Install Apple Certificate\n\nInstall an Apple certificate required to build on a macOS agent",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "certSecureFile": {
                    "description": "Certificate (P12)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "certPwd": {
                    "description": "Certificate (P12) password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "keychain": {
                    "description": "Keychain",
                    "ignoreCase": "all",
                    "enum": [
                      "default",
                      "temp",
                      "custom"
                    ]
                  },
                  "keychainPassword": {
                    "description": "Keychain password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "customKeychainPath": {
                    "description": "Custom keychain path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "deleteCert": {
                    "description": "Delete certificate from keychain",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "deleteCustomKeychain": {
                    "description": "Delete custom keychain",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "signingIdentity": {
                    "description": "Certificate signing identity",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "certSecureFile",
                  "keychain",
                  "customKeychainPath"
                ],
                "additionalProperties": false,
                "description": "Install Apple Certificate inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^InstallAppleCertificate@0$",
                "description": "Install Apple Certificate\n\nInstall an Apple certificate required to build on a macOS agent",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "certSecureFile": {
                    "description": "Certificate (P12)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "certPwd": {
                    "description": "Certificate (P12) Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "keychain": {
                    "description": "Keychain",
                    "ignoreCase": "all",
                    "enum": [
                      "default",
                      "temp",
                      "custom"
                    ]
                  },
                  "keychainPassword": {
                    "description": "Keychain Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "customKeychainPath": {
                    "description": "Custom Keychain Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "deleteCert": {
                    "description": "Delete Certificate from Keychain",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "deleteCustomKeychain": {
                    "description": "Delete Custom Keychain",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "signingIdentity": {
                    "description": "Certificate Signing Identity",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "certSecureFile",
                  "keychain",
                  "customKeychainPath"
                ],
                "additionalProperties": false,
                "description": "Install Apple Certificate inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^InstallAppleCertificate@2$",
                "description": "Install Apple Certificate\n\nInstall an Apple certificate required to build on a macOS agent",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "certSecureFile": {
                    "description": "Certificate (P12)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "certPwd": {
                    "description": "Certificate (P12) password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "keychain": {
                    "description": "Keychain",
                    "ignoreCase": "all",
                    "enum": [
                      "default",
                      "temp",
                      "custom"
                    ]
                  },
                  "keychainPassword": {
                    "description": "Keychain password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "customKeychainPath": {
                    "description": "Custom keychain path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "deleteCert": {
                    "description": "Delete certificate from keychain",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "deleteCustomKeychain": {
                    "description": "Delete custom keychain",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "signingIdentity": {
                    "description": "Certificate signing identity",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "certSecureFile",
                  "keychain",
                  "keychainPassword",
                  "customKeychainPath"
                ],
                "additionalProperties": false,
                "description": "Install Apple Certificate inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^FtpUpload@1$",
                "description": "FTP Upload\n\nFTP Upload",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "credentialsOption": {
                    "description": "Authentication Method",
                    "ignoreCase": "all",
                    "enum": [
                      "serviceEndpoint",
                      "inputs"
                    ],
                    "aliases": [
                      "credsType"
                    ]
                  },
                  "serverEndpoint": {
                    "description": "FTP Service Connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "serverUrl": {
                    "description": "Server URL",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "username": {
                    "description": "Username",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "password": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "rootDirectory": {
                    "description": "Root folder",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "rootFolder"
                    ]
                  },
                  "filePatterns": {
                    "description": "File patterns",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "remoteDirectory": {
                    "description": "Remote directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "remotePath"
                    ]
                  },
                  "clean": {
                    "description": "Delete remote directory",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "cleanContents": {
                    "description": "Clear remote directory contents",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "overwrite": {
                    "description": "Overwrite",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "preservePaths": {
                    "description": "Preserve file paths",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "trustSSL": {
                    "description": "Trust server certificate",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "credentialsOption",
                  "serverEndpoint",
                  "serverUrl",
                  "username",
                  "password",
                  "rootDirectory",
                  "filePatterns",
                  "remoteDirectory",
                  "clean",
                  "cleanContents",
                  "overwrite",
                  "preservePaths",
                  "trustSSL"
                ],
                "additionalProperties": false,
                "description": "FTP Upload inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Kubernetes@1$",
                "description": "Deploy to Kubernetes\n\nDeploy, configure, update your Kubernetes cluster in Azure Container Service by running kubectl commands.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "connectionType": {
                    "description": "Service connection type",
                    "ignoreCase": "all",
                    "enum": [
                      "Azure Resource Manager",
                      "Kubernetes Service Connection",
                      "None"
                    ]
                  },
                  "kubernetesServiceEndpoint": {
                    "description": "Kubernetes service connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "azureSubscriptionEndpoint": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "azureResourceGroup": {
                    "description": "Resource group",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "kubernetesCluster": {
                    "description": "Kubernetes cluster",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "namespace": {
                    "description": "Namespace",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "command": {
                    "description": "Command",
                    "ignoreCase": "all",
                    "enum": [
                      "apply",
                      "create",
                      "delete",
                      "exec",
                      "expose",
                      "get",
                      "login",
                      "logout",
                      "logs",
                      "run",
                      "set",
                      "top"
                    ]
                  },
                  "useConfigurationFile": {
                    "description": "Use configuration files",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "configuration": {
                    "description": "Configuration file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "secretType": {
                    "description": "Type of secret",
                    "ignoreCase": "all",
                    "enum": [
                      "dockerRegistry",
                      "generic"
                    ]
                  },
                  "secretArguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "containerRegistryType": {
                    "description": "Container registry type",
                    "ignoreCase": "all",
                    "enum": [
                      "Azure Container Registry",
                      "Container Registry"
                    ]
                  },
                  "dockerRegistryEndpoint": {
                    "description": "Docker registry service connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "azureSubscriptionEndpointForSecrets": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "azureContainerRegistry": {
                    "description": "Azure container registry",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "secretName": {
                    "description": "Secret name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "forceUpdate": {
                    "description": "Force update secret",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "configMapName": {
                    "description": "ConfigMap name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "forceUpdateConfigMap": {
                    "description": "Force update configmap",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "useConfigMapFile": {
                    "description": "Use file",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "configMapFile": {
                    "description": "ConfigMap file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "configMapArguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "versionOrLocation": {
                    "description": "Kubectl",
                    "ignoreCase": "all",
                    "enum": [
                      "version",
                      "location"
                    ]
                  },
                  "versionSpec": {
                    "description": "Version spec",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "checkLatest": {
                    "description": "Check for latest version",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "specifyLocation": {
                    "description": "Path to kubectl",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingDirectory": {
                    "description": "Working directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "cwd"
                    ]
                  },
                  "outputFormat": {
                    "description": "Output format",
                    "ignoreCase": "all",
                    "enum": [
                      "json",
                      "yaml"
                    ]
                  }
                },
                "required": [
                  "connectionType",
                  "kubernetesServiceEndpoint",
                  "azureSubscriptionEndpoint",
                  "azureResourceGroup",
                  "kubernetesCluster",
                  "command",
                  "configuration",
                  "secretType",
                  "containerRegistryType",
                  "configMapFile",
                  "specifyLocation"
                ],
                "additionalProperties": false,
                "description": "Deploy to Kubernetes inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Kubernetes@0$",
                "description": "Deploy to Kubernetes\n\nDeploy, configure, update your Kubernetes cluster in Azure Container Service by running kubectl commands.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "kubernetesServiceConnection": {
                    "description": "Kubernetes service connection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "kubernetesServiceEndpoint"
                    ]
                  },
                  "namespace": {
                    "description": "Namespace",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "command": {
                    "description": "Command",
                    "ignoreCase": "all",
                    "enum": [
                      "apply",
                      "create",
                      "delete",
                      "exec",
                      "expose",
                      "get",
                      "logs",
                      "run",
                      "set",
                      "top"
                    ]
                  },
                  "useConfigurationFile": {
                    "description": "Use Configuration files",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "configuration": {
                    "description": "Configuration file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "secretType": {
                    "description": "Type of secret",
                    "ignoreCase": "all",
                    "enum": [
                      "dockerRegistry",
                      "generic"
                    ]
                  },
                  "secretArguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "containerRegistryType": {
                    "description": "Container Registry type",
                    "ignoreCase": "all",
                    "enum": [
                      "Azure Container Registry",
                      "Container Registry"
                    ]
                  },
                  "dockerRegistryConnection": {
                    "description": "Docker Registry service connection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "dockerRegistryEndpoint"
                    ]
                  },
                  "azureSubscription": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "azureSubscriptionEndpoint"
                    ]
                  },
                  "azureContainerRegistry": {
                    "description": "Azure Container Registry",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "secretName": {
                    "description": "Secret name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "forceUpdate": {
                    "description": "Force update secret",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "configMapName": {
                    "description": "ConfigMap name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "forceUpdateConfigMap": {
                    "description": "Force update configmap",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "useConfigMapFile": {
                    "description": "Use file",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "configMapFile": {
                    "description": "ConfigMap file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "configMapArguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "versionOrLocation": {
                    "description": "Kubectl",
                    "ignoreCase": "all",
                    "enum": [
                      "version",
                      "location"
                    ]
                  },
                  "versionSpec": {
                    "description": "Version spec",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "checkLatest": {
                    "description": "Check for latest version",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "specifyLocation": {
                    "description": "Path to Kubectl",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingDirectory": {
                    "description": "Working directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "cwd"
                    ]
                  },
                  "outputFormat": {
                    "description": "Output format",
                    "ignoreCase": "all",
                    "enum": [
                      "json",
                      "yaml"
                    ]
                  },
                  "kubectlOutput": {
                    "description": "Output variable name",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "command",
                  "configuration",
                  "secretType",
                  "containerRegistryType",
                  "configMapFile",
                  "specifyLocation"
                ],
                "additionalProperties": false,
                "description": "Deploy to Kubernetes inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^NuGetCommand@2$",
                "description": "NuGet\n\nRestore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Package Management 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"
              },
              "inputs": {
                "properties": {
                  "command": {
                    "description": "Command",
                    "ignoreCase": "all",
                    "enum": [
                      "restore",
                      "pack",
                      "push",
                      "custom"
                    ]
                  },
                  "restoreSolution": {
                    "description": "Path to solution, packages.config, or project.json",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "solution"
                    ]
                  },
                  "feedsToUse": {
                    "description": "Feeds to use",
                    "ignoreCase": "all",
                    "enum": [
                      "select",
                      "config"
                    ],
                    "aliases": [
                      "selectOrConfig"
                    ]
                  },
                  "vstsFeed": {
                    "description": "Use packages from this Azure Artifacts/TFS feed",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "feedRestore"
                    ]
                  },
                  "includeNuGetOrg": {
                    "description": "Use packages from NuGet.org",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "nugetConfigPath": {
                    "description": "Path to NuGet.config",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "externalFeedCredentials": {
                    "description": "Credentials for feeds outside this account/collection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "externalEndpoints"
                    ]
                  },
                  "noCache": {
                    "description": "Disable local cache",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "disableParallelProcessing": {
                    "description": "Disable parallel processing",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "restoreDirectory": {
                    "description": "Destination directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "packagesDirectory"
                    ]
                  },
                  "verbosityRestore": {
                    "description": "Verbosity",
                    "ignoreCase": "all",
                    "enum": [
                      "Quiet",
                      "Normal",
                      "Detailed"
                    ]
                  },
                  "packagesToPush": {
                    "description": "Path to NuGet package(s) to publish",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "searchPatternPush"
                    ]
                  },
                  "nuGetFeedType": {
                    "description": "Target feed location",
                    "ignoreCase": "all",
                    "enum": [
                      "internal",
                      "external"
                    ]
                  },
                  "publishVstsFeed": {
                    "description": "Target feed",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "feedPublish"
                    ]
                  },
                  "allowPackageConflicts": {
                    "description": "Allow duplicates to be skipped",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "publishFeedCredentials": {
                    "description": "NuGet server",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "externalEndpoint"
                    ]
                  },
                  "verbosityPush": {
                    "description": "Verbosity",
                    "ignoreCase": "all",
                    "enum": [
                      "Quiet",
                      "Normal",
                      "Detailed"
                    ]
                  },
                  "packagesToPack": {
                    "description": "Path to csproj or nuspec file(s) to pack",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "searchPatternPack"
                    ]
                  },
                  "configuration": {
                    "description": "Configuration to package",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "configurationToPack"
                    ]
                  },
                  "packDestination": {
                    "description": "Package folder",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "outputDir"
                    ]
                  },
                  "versioningScheme": {
                    "description": "Automatic package versioning",
                    "ignoreCase": "all",
                    "enum": [
                      "off",
                      "byPrereleaseNumber",
                      "byEnvVar",
                      "byBuildNumber"
                    ]
                  },
                  "includeReferencedProjects": {
                    "description": "Include referenced projects",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "versionEnvVar": {
                    "description": "Environment variable",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "majorVersion": {
                    "description": "Major",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "requestedMajorVersion"
                    ]
                  },
                  "minorVersion": {
                    "description": "Minor",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "requestedMinorVersion"
                    ]
                  },
                  "patchVersion": {
                    "description": "Patch",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "requestedPatchVersion"
                    ]
                  },
                  "packTimezone": {
                    "description": "Time zone",
                    "ignoreCase": "all",
                    "enum": [
                      "utc",
                      "local"
                    ]
                  },
                  "includeSymbols": {
                    "description": "Create symbols package",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "toolPackage": {
                    "description": "Tool Package",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "buildProperties": {
                    "description": "Additional build properties",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "basePath": {
                    "description": "Base path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "verbosityPack": {
                    "description": "Verbosity",
                    "ignoreCase": "all",
                    "enum": [
                      "Quiet",
                      "Normal",
                      "Detailed"
                    ]
                  },
                  "arguments": {
                    "description": "Command and arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "command",
                  "restoreSolution",
                  "feedsToUse",
                  "packagesToPush",
                  "nuGetFeedType",
                  "publishVstsFeed",
                  "publishFeedCredentials",
                  "packagesToPack",
                  "versioningScheme",
                  "versionEnvVar",
                  "majorVersion",
                  "minorVersion",
                  "patchVersion",
                  "arguments"
                ],
                "additionalProperties": false,
                "description": "NuGet inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^NuGetInstaller@0$",
                "description": "NuGet Installer\n\nInstalls or restores missing NuGet packages",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "solution": {
                    "description": "Path to solution or packages.config",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "nugetConfigPath": {
                    "description": "Path to NuGet.config",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "restoreMode": {
                    "description": "Installation type",
                    "ignoreCase": "all",
                    "enum": [
                      "restore",
                      "install"
                    ]
                  },
                  "noCache": {
                    "description": "Disable local cache",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "nuGetRestoreArgs": {
                    "description": "NuGet arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "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": {
                    "description": "Path to NuGet.exe",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "solution",
                  "restoreMode",
                  "nuGetVersion"
                ],
                "additionalProperties": false,
                "description": "NuGet Installer inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^NuGetRestore@1$",
                "description": "NuGet Restore\n\nRestores NuGet packages in preparation for a Visual Studio Build step.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "solution": {
                    "description": "Path to solution, packages.config, or project.json",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "selectOrConfig": {
                    "description": "Feeds to use",
                    "ignoreCase": "all",
                    "enum": [
                      "select",
                      "config"
                    ]
                  },
                  "feed": {
                    "description": "Use packages from this VSTS feed",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "includeNuGetOrg": {
                    "description": "Use packages from NuGet.org",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "nugetConfigPath": {
                    "description": "Path to NuGet.config",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "noCache": {
                    "description": "Disable local cache",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "packagesDirectory": {
                    "description": "Destination directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "verbosity": {
                    "description": "Verbosity",
                    "ignoreCase": "all",
                    "enum": [
                      "-",
                      "Quiet",
                      "Normal",
                      "Detailed"
                    ]
                  }
                },
                "required": [
                  "solution",
                  "selectOrConfig"
                ],
                "additionalProperties": false,
                "description": "NuGet Restore inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^DotNetCoreCLI@0$",
                "description": ".NET Core (PREVIEW)\n\nBuild, test and publish using dotnet core command-line.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "command": {
                    "description": "Command",
                    "ignoreCase": "all",
                    "enum": [
                      "build",
                      "publish",
                      "restore",
                      "test",
                      "run"
                    ]
                  },
                  "publishWebProjects": {
                    "description": "Publish Web Projects",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "projects": {
                    "description": "Project(s)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "zipAfterPublish": {
                    "description": "Zip Published Projects",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "command",
                  "publishWebProjects"
                ],
                "additionalProperties": false,
                "description": ".NET Core (PREVIEW) inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^DotNetCoreCLI@2$",
                "description": ".NET Core\n\nBuild, test, package, or publish a dotnet application, or run a custom dotnet command. For package commands, supports NuGet.org and authenticated feeds like Package Management and MyGet.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "command": {
                    "description": "Command",
                    "ignoreCase": "all",
                    "enum": [
                      "build",
                      "push",
                      "pack",
                      "publish",
                      "restore",
                      "run",
                      "test",
                      "custom"
                    ]
                  },
                  "publishWebProjects": {
                    "description": "Publish Web Projects",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "projects": {
                    "description": "Path to project(s)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "custom": {
                    "description": "Custom command",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "publishTestResults": {
                    "description": "Publish test results and code coverage",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "zipAfterPublish": {
                    "description": "Zip Published Projects",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "modifyOutputPath": {
                    "description": "Add project name to publish path",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "feedsToUse": {
                    "description": "Feeds to use",
                    "ignoreCase": "all",
                    "enum": [
                      "select",
                      "config"
                    ],
                    "aliases": [
                      "selectOrConfig"
                    ]
                  },
                  "vstsFeed": {
                    "description": "Use packages from this Azure Artifacts/TFS feed",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "feedRestore"
                    ]
                  },
                  "includeNuGetOrg": {
                    "description": "Use packages from NuGet.org",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "nugetConfigPath": {
                    "description": "Path to NuGet.config",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "externalFeedCredentials": {
                    "description": "Credentials for feeds outside this organization/collection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "externalEndpoints"
                    ]
                  },
                  "noCache": {
                    "description": "Disable local cache",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "restoreDirectory": {
                    "description": "Destination directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "packagesDirectory"
                    ]
                  },
                  "verbosityRestore": {
                    "description": "Verbosity",
                    "ignoreCase": "all",
                    "enum": [
                      "-",
                      "Quiet",
                      "Minimal",
                      "Normal",
                      "Detailed",
                      "Diagnostic"
                    ]
                  },
                  "packagesToPush": {
                    "description": "Path to NuGet package(s) to publish",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "searchPatternPush"
                    ]
                  },
                  "nuGetFeedType": {
                    "description": "Target feed location",
                    "ignoreCase": "all",
                    "enum": [
                      "internal",
                      "external"
                    ]
                  },
                  "publishVstsFeed": {
                    "description": "Target feed",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "feedPublish"
                    ]
                  },
                  "publishFeedCredentials": {
                    "description": "NuGet server",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "externalEndpoint"
                    ]
                  },
                  "packagesToPack": {
                    "description": "Path to csproj or nuspec file(s) to pack",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "searchPatternPack"
                    ]
                  },
                  "configuration": {
                    "description": "Configuration to Package",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "configurationToPack"
                    ]
                  },
                  "packDirectory": {
                    "description": "Package Folder",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "outputDir"
                    ]
                  },
                  "nobuild": {
                    "description": "Do not build",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "versioningScheme": {
                    "description": "Automatic package versioning",
                    "ignoreCase": "all",
                    "enum": [
                      "off",
                      "byPrereleaseNumber",
                      "byEnvVar",
                      "byBuildNumber"
                    ]
                  },
                  "versionEnvVar": {
                    "description": "Environment variable",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "majorVersion": {
                    "description": "Major",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "requestedMajorVersion"
                    ]
                  },
                  "minorVersion": {
                    "description": "Minor",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "requestedMinorVersion"
                    ]
                  },
                  "patchVersion": {
                    "description": "Patch",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "requestedPatchVersion"
                    ]
                  },
                  "buildProperties": {
                    "description": "Additional build properties",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "verbosityPack": {
                    "description": "Verbosity",
                    "ignoreCase": "all",
                    "enum": [
                      "-",
                      "Quiet",
                      "Minimal",
                      "Normal",
                      "Detailed",
                      "Diagnostic"
                    ]
                  },
                  "workingDirectory": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "command",
                  "publishWebProjects",
                  "custom",
                  "feedsToUse",
                  "packagesToPush",
                  "nuGetFeedType",
                  "publishVstsFeed",
                  "publishFeedCredentials",
                  "packagesToPack",
                  "versioningScheme",
                  "versionEnvVar",
                  "majorVersion",
                  "minorVersion",
                  "patchVersion"
                ],
                "additionalProperties": false,
                "description": ".NET Core inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^DotNetCoreCLI@1$",
                "description": ".NET Core\n\nBuild, test and publish using dotnet core command-line.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "command": {
                    "description": "Command",
                    "ignoreCase": "all",
                    "enum": [
                      "build",
                      "publish",
                      "restore",
                      "test",
                      "run"
                    ]
                  },
                  "publishWebProjects": {
                    "description": "Publish Web Projects",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "projects": {
                    "description": "Project(s)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "zipAfterPublish": {
                    "description": "Zip Published Projects",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "command",
                  "publishWebProjects"
                ],
                "additionalProperties": false,
                "description": ".NET Core inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^DotNetCoreInstaller@0$",
                "description": ".NET Core Tool Installer\n\nAcquires a specific version of .NET Core from internet or the tools cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "packageType": {
                    "description": "Package to install",
                    "ignoreCase": "all",
                    "enum": [
                      "runtime",
                      "sdk"
                    ]
                  },
                  "version": {
                    "description": "Version",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "packageType",
                  "version"
                ],
                "additionalProperties": false,
                "description": ".NET Core Tool Installer inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureCLI@1$",
                "description": "Azure CLI\n\nRun a Shell or Batch script with Azure CLI commands against an azure subscription",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "azureSubscription": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "connectedServiceNameARM"
                    ]
                  },
                  "scriptLocation": {
                    "description": "Script Location",
                    "ignoreCase": "all",
                    "enum": [
                      "inlineScript",
                      "scriptPath"
                    ]
                  },
                  "scriptPath": {
                    "description": "Script Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "inlineScript": {
                    "description": "Inline Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "args"
                    ]
                  },
                  "workingDirectory": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "cwd"
                    ]
                  },
                  "failOnStandardError": {
                    "description": "Fail on Standard Error",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "azureSubscription",
                  "scriptLocation",
                  "scriptPath",
                  "inlineScript"
                ],
                "additionalProperties": false,
                "description": "Azure CLI inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureCLI@0$",
                "description": "Azure CLI Preview\n\nRun a Shell or Batch script with Azure CLI commands against an azure subscription",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "connectedServiceNameSelector": {
                    "description": "Azure Connection Type",
                    "ignoreCase": "all",
                    "enum": [
                      "connectedServiceName",
                      "connectedServiceNameARM"
                    ]
                  },
                  "connectedServiceNameARM": {
                    "description": "AzureRM Subscription",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "connectedServiceName": {
                    "description": "Azure Classic Subscription",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "scriptLocation": {
                    "description": "Script Location",
                    "ignoreCase": "all",
                    "enum": [
                      "inlineScript",
                      "scriptPath"
                    ]
                  },
                  "scriptPath": {
                    "description": "Script Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "inlineScript": {
                    "description": "Inline Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "args": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "cwd": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "failOnStandardError": {
                    "description": "Fail on Standard Error",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "connectedServiceNameSelector",
                  "connectedServiceNameARM",
                  "connectedServiceName",
                  "scriptLocation",
                  "scriptPath",
                  "inlineScript"
                ],
                "additionalProperties": false,
                "description": "Azure CLI Preview inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^ServiceFabricPowerShell@1$",
                "description": "Service Fabric PowerShell\n\nRun a PowerShell script within the context of an Azure Service Fabric cluster connection.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "clusterConnection": {
                    "description": "Cluster Service Connection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "serviceConnectionName"
                    ]
                  },
                  "ScriptType": {
                    "description": "Script Type",
                    "ignoreCase": "all",
                    "enum": [
                      "FilePath",
                      "InlineScript"
                    ]
                  },
                  "ScriptPath": {
                    "description": "Script Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Inline": {
                    "description": "Inline Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ScriptArguments": {
                    "description": "Script Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "clusterConnection",
                  "ScriptType"
                ],
                "additionalProperties": false,
                "description": "Service Fabric PowerShell inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^GoTool@0$",
                "description": "Go Tool Installer\n\nFinds or downloads a specific version of Go in the tools cache and adds it to the PATH. Use this to set the version of Go used in subsequent tasks.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "version": {
                    "description": "Version",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "goPath": {
                    "description": "GOPATH",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "goBin": {
                    "description": "GOBIN",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "version"
                ],
                "additionalProperties": false,
                "description": "Go Tool Installer inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^HelmDeploy@0$",
                "description": "Package and deploy Helm charts\n\nDeploy, configure, update your Kubernetes cluster in Azure Container Service by running helm commands.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "connectionType": {
                    "description": "Connection Type",
                    "ignoreCase": "all",
                    "enum": [
                      "Azure Resource Manager",
                      "Kubernetes Service Connection",
                      "None"
                    ]
                  },
                  "azureSubscription": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "azureSubscriptionEndpoint"
                    ]
                  },
                  "azureResourceGroup": {
                    "description": "Resource group",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "kubernetesCluster": {
                    "description": "Kubernetes cluster",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "kubernetesServiceConnection": {
                    "description": "Kubernetes Service Connection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "kubernetesServiceEndpoint"
                    ]
                  },
                  "namespace": {
                    "description": "Namespace",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "command": {
                    "description": "Command",
                    "ignoreCase": "all",
                    "enum": [
                      "create",
                      "delete",
                      "expose",
                      "get",
                      "init",
                      "install",
                      "login",
                      "logout",
                      "ls",
                      "package",
                      "rollback",
                      "upgrade"
                    ]
                  },
                  "chartType": {
                    "description": "Chart Type",
                    "ignoreCase": "all",
                    "enum": [
                      "Name",
                      "FilePath"
                    ]
                  },
                  "chartName": {
                    "description": "Chart Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "chartPath": {
                    "description": "Chart Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "chartVersion": {
                    "description": "Version",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "version"
                    ]
                  },
                  "releaseName": {
                    "description": "Release Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "overrideValues": {
                    "description": "Set Values",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "valueFile": {
                    "description": "Value File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "destination": {
                    "description": "Destination",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "canaryImage": {
                    "description": "Use canary image version.",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "canaryimage"
                    ]
                  },
                  "upgradeTiller": {
                    "description": "Upgrade Tiller",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "upgradetiller"
                    ]
                  },
                  "updateDependency": {
                    "description": "Update Dependency",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "updatedependency"
                    ]
                  },
                  "save": {
                    "description": "Save",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "install": {
                    "description": "Install if release not present.",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "recreate": {
                    "description": "Recreate Pods.",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "resetValues": {
                    "description": "Reset Values.",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "force": {
                    "description": "Force",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "waitForExecution": {
                    "description": "Wait",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "enableTls": {
                    "description": "Enable TLS",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "caCert": {
                    "description": "CA certificate",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "certificate": {
                    "description": "Certificate",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "privatekey": {
                    "description": "Key",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "tillerNamespace": {
                    "description": "Tiller namespace",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "tillernamespace"
                    ]
                  }
                },
                "required": [
                  "connectionType",
                  "azureSubscription",
                  "azureResourceGroup",
                  "kubernetesCluster",
                  "kubernetesServiceConnection",
                  "command",
                  "chartType",
                  "chartName",
                  "chartPath",
                  "caCert",
                  "certificate",
                  "privatekey"
                ],
                "additionalProperties": false,
                "description": "Package and deploy Helm charts inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^PowerShell@2$",
                "description": "PowerShell\n\nRun a PowerShell script on Windows, macOS, or Linux.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "targetType": {
                    "description": "Type",
                    "ignoreCase": "all",
                    "enum": [
                      "filePath",
                      "inline"
                    ]
                  },
                  "filePath": {
                    "description": "Script Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "script": {
                    "description": "Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "errorActionPreference": {
                    "description": "ErrorActionPreference",
                    "ignoreCase": "all",
                    "enum": [
                      "stop",
                      "continue",
                      "silentlyContinue"
                    ]
                  },
                  "failOnStderr": {
                    "description": "Fail on Standard Error",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "ignoreLASTEXITCODE": {
                    "description": "Ignore $LASTEXITCODE",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "pwsh": {
                    "description": "Use PowerShell Core",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "workingDirectory": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "filePath",
                  "script"
                ],
                "additionalProperties": false,
                "description": "PowerShell inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^PowerShell@1$",
                "description": "PowerShell\n\nRun a PowerShell script",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "scriptType": {
                    "description": "Type",
                    "ignoreCase": "all",
                    "enum": [
                      "inlineScript",
                      "filePath"
                    ]
                  },
                  "scriptName": {
                    "description": "Script Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingFolder": {
                    "description": "Working folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "inlineScript": {
                    "description": "Inline Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "failOnStandardError": {
                    "description": "Fail on Standard Error",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "scriptType",
                  "scriptName",
                  "inlineScript"
                ],
                "additionalProperties": false,
                "description": "PowerShell inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^VSTest@1$",
                "description": "Visual Studio Test\n\nRun tests with Visual Studio test runner",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "testAssembly": {
                    "description": "Test Assembly",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testFiltercriteria": {
                    "description": "Test Filter criteria",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "runSettingsFile": {
                    "description": "Run Settings File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "overrideTestrunParameters": {
                    "description": "Override TestRun Parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "codeCoverageEnabled": {
                    "description": "Code Coverage Enabled",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "runInParallel": {
                    "description": "Run In Parallel",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "vstestLocationMethod": {
                    "description": "VSTest",
                    "ignoreCase": "all",
                    "enum": [
                      "version",
                      "location"
                    ]
                  },
                  "vsTestVersion": {
                    "description": "VSTest version",
                    "ignoreCase": "all",
                    "enum": [
                      "latest",
                      "14.0",
                      "12.0"
                    ]
                  },
                  "vstestLocation": {
                    "description": "Path to vstest.console.exe",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "pathtoCustomTestAdapters": {
                    "description": "Path to Custom Test Adapters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "otherConsoleOptions": {
                    "description": "Other console options",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testRunTitle": {
                    "description": "Test Run Title",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "platform": {
                    "description": "Platform",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "configuration": {
                    "description": "Configuration",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "publishRunAttachments": {
                    "description": "Upload Test Attachments",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "testAssembly"
                ],
                "additionalProperties": false,
                "description": "Visual Studio Test inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^VSTest@2$",
                "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"
              },
              "inputs": {
                "properties": {
                  "testSelector": {
                    "description": "Select tests using",
                    "ignoreCase": "all",
                    "enum": [
                      "testAssemblies",
                      "testPlan",
                      "testRun"
                    ]
                  },
                  "testAssemblyVer2": {
                    "description": "Test files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testPlan": {
                    "description": "Test plan",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testSuite": {
                    "description": "Test suite",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testConfiguration": {
                    "description": "Test configuration",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "tcmTestRun": {
                    "description": "Test Run",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "searchFolder": {
                    "description": "Search folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testFiltercriteria": {
                    "description": "Test filter criteria",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "runOnlyImpactedTests": {
                    "description": "Run only impacted tests",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "runAllTestsAfterXBuilds": {
                    "description": "Number of builds after which all tests should be run",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "uiTests": {
                    "description": "Test mix contains UI tests",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "vstestLocationMethod": {
                    "description": "Select test platform using",
                    "ignoreCase": "all",
                    "enum": [
                      "version",
                      "location"
                    ]
                  },
                  "vsTestVersion": {
                    "description": "Test platform version",
                    "ignoreCase": "all",
                    "enum": [
                      "latest",
                      "15.0",
                      "14.0",
                      "toolsInstaller"
                    ]
                  },
                  "vstestLocation": {
                    "description": "Path to vstest.console.exe",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "runSettingsFile": {
                    "description": "Settings file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "overrideTestrunParameters": {
                    "description": "Override test run parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "pathtoCustomTestAdapters": {
                    "description": "Path to custom test adapters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "runInParallel": {
                    "description": "Run tests in parallel on multi-core machines",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "runTestsInIsolation": {
                    "description": "Run tests in isolation",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "codeCoverageEnabled": {
                    "description": "Code coverage enabled",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "otherConsoleOptions": {
                    "description": "Other console options",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "distributionBatchType": {
                    "description": "Batch tests",
                    "ignoreCase": "all",
                    "enum": [
                      "basedOnTestCases",
                      "basedOnExecutionTime",
                      "basedOnAssembly"
                    ]
                  },
                  "batchingBasedOnAgentsOption": {
                    "description": "Batch options",
                    "ignoreCase": "all",
                    "enum": [
                      "autoBatchSize",
                      "customBatchSize"
                    ]
                  },
                  "customBatchSizeValue": {
                    "description": "Number of tests per batch",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "batchingBasedOnExecutionTimeOption": {
                    "description": "Batch options",
                    "ignoreCase": "all",
                    "enum": [
                      "autoBatchSize",
                      "customTimeBatchSize"
                    ]
                  },
                  "customRunTimePerBatchValue": {
                    "description": "Running time (sec) per batch",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "dontDistribute": {
                    "description": "Do not distribute tests and replicate instead when multiple agents are used in the job",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "testRunTitle": {
                    "description": "Test run title",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "platform": {
                    "description": "Build platform",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "configuration": {
                    "description": "Build configuration",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "publishRunAttachments": {
                    "description": "Upload test attachments",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "diagnosticsEnabled": {
                    "description": "Collect advanced diagnostics in case of catastrophic failures",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "collectDumpOn": {
                    "description": "Collect process dump and attach to test run report",
                    "ignoreCase": "all",
                    "enum": [
                      "onAbortOnly",
                      "always",
                      "never"
                    ]
                  },
                  "rerunFailedTests": {
                    "description": "Rerun failed tests",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "rerunType": {
                    "description": "Do not rerun if test failures exceed specified threshold",
                    "ignoreCase": "all",
                    "enum": [
                      "basedOnTestFailurePercentage",
                      "basedOnTestFailureCount"
                    ]
                  },
                  "rerunFailedThreshold": {
                    "description": "% failure",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "rerunFailedTestCasesMaxLimit": {
                    "description": "# of failed tests",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "rerunMaxAttempts": {
                    "description": "Maximum # of attempts",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "testSelector",
                  "testAssemblyVer2",
                  "testPlan",
                  "testSuite",
                  "testConfiguration",
                  "searchFolder",
                  "customBatchSizeValue",
                  "customRunTimePerBatchValue"
                ],
                "additionalProperties": false,
                "description": "Visual Studio Test inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^PythonScript@0$",
                "description": "Python Script\n\nRun a Python script.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "scriptSource": {
                    "description": "Script source",
                    "ignoreCase": "all",
                    "enum": [
                      "filePath",
                      "inline"
                    ]
                  },
                  "scriptPath": {
                    "description": "Script path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "script": {
                    "description": "Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "pythonInterpreter": {
                    "description": "Python interpreter",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingDirectory": {
                    "description": "Working directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "failOnStderr": {
                    "description": "Fail on standard error",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "scriptSource",
                  "scriptPath",
                  "script"
                ],
                "additionalProperties": false,
                "description": "Python Script inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureNLBManagement@1$",
                "description": "Azure Network Load Balancer\n\nConnect/Disconnect an Azure virtual machine's network interface to a Load Balancer's backend address pool",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "azureSubscription": {
                    "description": "Azure Subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceName"
                    ]
                  },
                  "ResourceGroupName": {
                    "description": "Resource Group",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "LoadBalancer": {
                    "description": "Load Balancer Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Action": {
                    "description": "Action",
                    "ignoreCase": "all",
                    "enum": [
                      "Disconnect",
                      "Connect"
                    ]
                  }
                },
                "required": [
                  "azureSubscription",
                  "ResourceGroupName",
                  "LoadBalancer",
                  "Action"
                ],
                "additionalProperties": false,
                "description": "Azure Network Load Balancer inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^RunVisualStudioTestsusingTestAgent@1$",
                "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"
              },
              "inputs": {
                "properties": {
                  "testMachineGroup": {
                    "description": "Machines",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "dropLocation": {
                    "description": "Test Drop Location",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testSelection": {
                    "description": "Test Selection",
                    "ignoreCase": "all",
                    "enum": [
                      "testAssembly",
                      "testPlan"
                    ]
                  },
                  "testPlan": {
                    "description": "Test Plan",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testSuite": {
                    "description": "Test Suite",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testConfiguration": {
                    "description": "Test Configuration",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "sourcefilters": {
                    "description": "Test Assembly",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testFilterCriteria": {
                    "description": "Test Filter criteria",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "runSettingsFile": {
                    "description": "Run Settings File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "overrideRunParams": {
                    "description": "Override Test Run Parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "codeCoverageEnabled": {
                    "description": "Code Coverage Enabled",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "customSlicingEnabled": {
                    "description": "Distribute tests by number of machines",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "testRunTitle": {
                    "description": "Test Run Title",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "platform": {
                    "description": "Platform",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "configuration": {
                    "description": "Configuration",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testConfigurations": {
                    "description": "Test Configurations",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "autMachineGroup": {
                    "description": "Application Under Test Machines",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "testMachineGroup",
                  "dropLocation",
                  "testSelection",
                  "testPlan",
                  "testSuite",
                  "testConfiguration",
                  "sourcefilters"
                ],
                "additionalProperties": false,
                "description": "Run Functional Tests inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Grunt@0$",
                "description": "Grunt\n\nThe JavaScript Task Runner",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "gruntFile": {
                    "description": "Grunt File Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "targets": {
                    "description": "Grunt Task(s)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingDirectory": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "cwd"
                    ]
                  },
                  "gruntCli": {
                    "description": "grunt-cli location",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "publishJUnitResults": {
                    "description": "Publish to Azure Pipelines/TFS",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "testResultsFiles": {
                    "description": "Test Results Files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testRunTitle": {
                    "description": "Test Run Title",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "enableCodeCoverage": {
                    "description": "Enable Code Coverage",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "testFramework": {
                    "description": "Test Framework",
                    "ignoreCase": "all",
                    "enum": [
                      "Mocha",
                      "Jasmine"
                    ]
                  },
                  "srcFiles": {
                    "description": "Source Files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testFiles": {
                    "description": "Test Script Files",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "gruntFile",
                  "gruntCli",
                  "testResultsFiles",
                  "testFiles"
                ],
                "additionalProperties": false,
                "description": "Grunt inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^VSMobileCenterTest@0$",
                "description": "Mobile Center Test\n\nTest mobile app packages with Visual Studio Mobile Center.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "app": {
                    "description": "Binary Application File Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "artifactsDir": {
                    "description": "Artifacts Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "enablePrepare": {
                    "description": "Prepare Tests",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "framework": {
                    "description": "Test Framework",
                    "ignoreCase": "all",
                    "enum": [
                      "appium",
                      "espresso",
                      "calabash",
                      "uitest",
                      "xcuitest"
                    ]
                  },
                  "appiumBuildDir": {
                    "description": "Build Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "espressoBuildDir": {
                    "description": "Build Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "espressoTestApkPath": {
                    "description": "Test APK Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "calabashProjectDir": {
                    "description": "Project Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "calabashConfigFile": {
                    "description": "Cucumber Config File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "calabashProfile": {
                    "description": "Profile to run",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "calabashSkipConfigCheck": {
                    "description": "Skip Configuration Check",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "uitestBuildDir": {
                    "description": "Build Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "uitestStoreFile": {
                    "description": "Store File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "uitestStorePass": {
                    "description": "Store Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "uitestKeyAlias": {
                    "description": "Key Alias",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "uitestKeyPass": {
                    "description": "Key Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "uitestToolsDir": {
                    "description": "Test Tools Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "signInfo": {
                    "description": "Signing Information",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "xcuitestBuildDir": {
                    "description": "Build Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "xcuitestTestIpaPath": {
                    "description": "Test IPA Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "prepareOpts": {
                    "description": "Additional Options",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "enableRun": {
                    "description": "Run Tests",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "credsType": {
                    "description": "Authentication Method",
                    "ignoreCase": "all",
                    "enum": [
                      "serviceEndpoint",
                      "inputs"
                    ]
                  },
                  "serverEndpoint": {
                    "description": "Mobile Center Connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "username": {
                    "description": "Mobile Center Username",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "password": {
                    "description": "Mobile Center Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "appSlug": {
                    "description": "App Slug",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "devices": {
                    "description": "Devices",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "series": {
                    "description": "Test Series",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "dsymDir": {
                    "description": "dSYM Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "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": {
                    "description": "Other Locale",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "loginOpts": {
                    "description": "Addtional Options for Login",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "runOpts": {
                    "description": "Additional Options for Run",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "async": {
                    "description": "Do not wait for test result",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "cliLocationOverride": {
                    "description": "mobile-center CLI Location",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "debug": {
                    "description": "Enable Debug Output",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "app",
                  "artifactsDir",
                  "framework",
                  "appiumBuildDir",
                  "calabashProjectDir",
                  "uitestBuildDir",
                  "credsType",
                  "serverEndpoint",
                  "username",
                  "password",
                  "appSlug",
                  "devices",
                  "locale"
                ],
                "additionalProperties": false,
                "description": "Mobile Center Test inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AppCenterTest@1$",
                "description": "App Center Test\n\nTest app packages with Visual Studio App Center.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "appFile": {
                    "description": "Binary application file path",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "app"
                    ]
                  },
                  "artifactsDirectory": {
                    "description": "Artifacts directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "artifactsDir"
                    ]
                  },
                  "prepareTests": {
                    "description": "Prepare tests",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "enablePrepare"
                    ]
                  },
                  "frameworkOption": {
                    "description": "Test framework",
                    "ignoreCase": "all",
                    "enum": [
                      "appium",
                      "espresso",
                      "calabash",
                      "uitest",
                      "xcuitest"
                    ],
                    "aliases": [
                      "framework"
                    ]
                  },
                  "appiumBuildDirectory": {
                    "description": "Build directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "appiumBuildDir"
                    ]
                  },
                  "espressoBuildDirectory": {
                    "description": "Build directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "espressoBuildDir"
                    ]
                  },
                  "espressoTestApkFile": {
                    "description": "Test APK path",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "espressoTestApkPath"
                    ]
                  },
                  "calabashProjectDirectory": {
                    "description": "Project directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "calabashProjectDir"
                    ]
                  },
                  "calabashConfigFile": {
                    "description": "Cucumber config file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "calabashProfile": {
                    "description": "Profile to run",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "calabashSkipConfigCheck": {
                    "description": "Skip Configuration Check",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "uiTestBuildDirectory": {
                    "description": "Build directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "uitestBuildDir"
                    ]
                  },
                  "uitestStoreFile": {
                    "description": "Store file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "uiTestStorePassword": {
                    "description": "Store password",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "uitestStorePass"
                    ]
                  },
                  "uitestKeyAlias": {
                    "description": "Key alias",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "uiTestKeyPassword": {
                    "description": "Key password",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "uitestKeyPass"
                    ]
                  },
                  "uiTestToolsDirectory": {
                    "description": "Test tools directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "uitestToolsDir"
                    ]
                  },
                  "signInfo": {
                    "description": "Signing information",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "xcUITestBuildDirectory": {
                    "description": "Build directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "xcuitestBuildDir"
                    ]
                  },
                  "xcUITestIpaFile": {
                    "description": "Test IPA path",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "xcuitestTestIpaPath"
                    ]
                  },
                  "prepareOptions": {
                    "description": "Additional options",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "prepareOpts"
                    ]
                  },
                  "runTests": {
                    "description": "Run tests",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "enableRun"
                    ]
                  },
                  "credentialsOption": {
                    "description": "Authentication method",
                    "ignoreCase": "all",
                    "enum": [
                      "serviceEndpoint",
                      "inputs"
                    ],
                    "aliases": [
                      "credsType"
                    ]
                  },
                  "serverEndpoint": {
                    "description": "App Center service connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "username": {
                    "description": "App Center username",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "password": {
                    "description": "App Center password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "appSlug": {
                    "description": "App slug",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "devices": {
                    "description": "Devices",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "series": {
                    "description": "Test series",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "dsymDirectory": {
                    "description": "dSYM directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "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": {
                    "description": "Other locale",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "loginOptions": {
                    "description": "Additional options for login",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "loginOpts"
                    ]
                  },
                  "runOptions": {
                    "description": "Additional options for run",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "runOpts"
                    ]
                  },
                  "skipWaitingForResults": {
                    "description": "Do not wait for test result",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "async"
                    ]
                  },
                  "cliFile": {
                    "description": "App Center CLI location",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "cliLocationOverride"
                    ]
                  },
                  "showDebugOutput": {
                    "description": "Enable debug output",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "debug"
                    ]
                  }
                },
                "required": [
                  "appFile",
                  "artifactsDirectory",
                  "frameworkOption",
                  "appiumBuildDirectory",
                  "calabashProjectDirectory",
                  "uiTestBuildDirectory",
                  "credentialsOption",
                  "serverEndpoint",
                  "username",
                  "password",
                  "appSlug",
                  "devices",
                  "localeOption"
                ],
                "additionalProperties": false,
                "description": "App Center Test inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureWebPowerShellDeployment@1$",
                "description": "Azure App Service: Classic (Deprecated)\n\nCreate or update Azure App Service using Azure PowerShell",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "ConnectedServiceName": {
                    "description": "Azure Subscription (Classic)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "WebSiteLocation": {
                    "description": "Web App Location",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "WebSiteName": {
                    "description": "Web App Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Slot": {
                    "description": "Slot",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Package": {
                    "description": "Web Deploy Package",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "doNotDelete": {
                    "description": "Set DoNotDelete flag",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "AdditionalArguments": {
                    "description": "Additional Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "ConnectedServiceName",
                  "WebSiteLocation",
                  "WebSiteName",
                  "Package"
                ],
                "additionalProperties": false,
                "description": "Azure App Service: Classic (Deprecated) inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Xcode@3$",
                "description": "Xcode Build\n\nBuild an Xcode workspace on macOS",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "actions": {
                    "description": "Actions",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "configuration": {
                    "description": "Configuration",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "sdk": {
                    "description": "SDK",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "xcWorkspacePath": {
                    "description": "Workspace/Project Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "scheme": {
                    "description": "Scheme",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "packageApp": {
                    "description": "Create App Package",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "archivePath": {
                    "description": "Archive Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportPath": {
                    "description": "Export Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportOptions": {
                    "description": "Export Options",
                    "ignoreCase": "all",
                    "enum": [
                      "auto",
                      "plist",
                      "specify"
                    ]
                  },
                  "exportMethod": {
                    "description": "Export Method",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportTeamId": {
                    "description": "Team ID",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportOptionsPlist": {
                    "description": "Export Options Plist",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportArgs": {
                    "description": "Export Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "xcode8AutomaticSigning": {
                    "description": "Automatic Signing",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "teamId": {
                    "description": "Team ID",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "signMethod": {
                    "description": "Override Using",
                    "ignoreCase": "all",
                    "enum": [
                      "file",
                      "id"
                    ]
                  },
                  "iosSigningIdentity": {
                    "description": "Signing Identity",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "unlockDefaultKeychain": {
                    "description": "Unlock Default Keychain",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "defaultKeychainPassword": {
                    "description": "Default Keychain Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "provProfileUuid": {
                    "description": "Provisioning Profile UUID",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "p12": {
                    "description": "P12 Certificate File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "p12pwd": {
                    "description": "P12 Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "provProfile": {
                    "description": "Provisioning Profile File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "removeProfile": {
                    "description": "Remove Profile After Build",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "args": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "cwd": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "outputPattern": {
                    "description": "Output Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "xcodeDeveloperDir": {
                    "description": "Xcode Developer Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "useXcpretty": {
                    "description": "Use xcpretty",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "publishJUnitResults": {
                    "description": "Publish to VSTS/TFS",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "actions",
                  "packageApp",
                  "exportMethod",
                  "exportOptionsPlist",
                  "unlockDefaultKeychain",
                  "outputPattern"
                ],
                "additionalProperties": false,
                "description": "Xcode Build inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Xcode@4$",
                "description": "Xcode\n\nBuild, test, or archive an Xcode workspace on macOS. Optionally package an app.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "actions": {
                    "description": "Actions",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "configuration": {
                    "description": "Configuration",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "sdk": {
                    "description": "SDK",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "xcWorkspacePath": {
                    "description": "Workspace or project path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "scheme": {
                    "description": "Scheme",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "xcodeVersion": {
                    "description": "Xcode version",
                    "ignoreCase": "all",
                    "enum": [
                      "8",
                      "9",
                      "default",
                      "specifyPath"
                    ]
                  },
                  "xcodeDeveloperDir": {
                    "description": "Xcode developer path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "packageApp": {
                    "description": "Create app package",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "archivePath": {
                    "description": "Archive path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportPath": {
                    "description": "Export path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportOptions": {
                    "description": "Export options",
                    "ignoreCase": "all",
                    "enum": [
                      "auto",
                      "plist",
                      "specify"
                    ]
                  },
                  "exportMethod": {
                    "description": "Export method",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportTeamId": {
                    "description": "Team ID",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportOptionsPlist": {
                    "description": "Export options plist",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportArgs": {
                    "description": "Export arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "signingOption": {
                    "description": "Signing style",
                    "ignoreCase": "all",
                    "enum": [
                      "nosign",
                      "default",
                      "manual",
                      "auto"
                    ]
                  },
                  "signingIdentity": {
                    "description": "Signing identity",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "provisioningProfileUuid": {
                    "description": "Provisioning profile UUID",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "teamId": {
                    "description": "Team ID",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "destinationPlatformOption": {
                    "description": "Destination platform",
                    "ignoreCase": "all",
                    "enum": [
                      "default",
                      "iOS",
                      "tvOS",
                      "macOS",
                      "custom"
                    ]
                  },
                  "destinationPlatform": {
                    "description": "Custom destination platform",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "destinationTypeOption": {
                    "description": "Destination type",
                    "ignoreCase": "all",
                    "enum": [
                      "simulators",
                      "devices"
                    ]
                  },
                  "destinationSimulators": {
                    "description": "Simulator",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "destinationDevices": {
                    "description": "Device",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "args": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingDirectory": {
                    "description": "Working directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "cwd"
                    ]
                  },
                  "outputPattern": {
                    "description": "Output directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "useXcpretty": {
                    "description": "Use xcpretty",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "publishJUnitResults": {
                    "description": "Publish test results to VSTS/TFS",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "actions",
                  "packageApp",
                  "exportMethod",
                  "exportOptionsPlist"
                ],
                "additionalProperties": false,
                "description": "Xcode inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Xcode@2$",
                "description": "Xcode Build\n\nBuild an Xcode workspace on Mac OS",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "actions": {
                    "description": "Actions",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "configuration": {
                    "description": "Configuration",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "sdk": {
                    "description": "SDK",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "xcWorkspacePath": {
                    "description": "Workspace/Project Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "scheme": {
                    "description": "Scheme",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "packageApp": {
                    "description": "Create App Package",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "packageTool": {
                    "description": "Create Package (IPA) using",
                    "ignoreCase": "all",
                    "enum": [
                      "xcrun",
                      "xcodebuild"
                    ]
                  },
                  "archivePath": {
                    "description": "Archive Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportPath": {
                    "description": "Export Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportOptions": {
                    "description": "Export Options",
                    "ignoreCase": "all",
                    "enum": [
                      "auto",
                      "plist",
                      "specify"
                    ]
                  },
                  "exportMethod": {
                    "description": "Export Method",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportTeamId": {
                    "description": "Team ID",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportOptionsPlist": {
                    "description": "Export Options Plist",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "xcode8AutomaticSigning": {
                    "description": "Automatic Signing",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "teamId": {
                    "description": "Team ID",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "signMethod": {
                    "description": "Override Using",
                    "ignoreCase": "all",
                    "enum": [
                      "file",
                      "id"
                    ]
                  },
                  "iosSigningIdentity": {
                    "description": "Signing Identity",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "unlockDefaultKeychain": {
                    "description": "Unlock Default Keychain",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "defaultKeychainPassword": {
                    "description": "Default Keychain Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "provProfileUuid": {
                    "description": "Provisioning Profile UUID",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "p12": {
                    "description": "P12 Certificate File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "p12pwd": {
                    "description": "P12 Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "provProfile": {
                    "description": "Provisioning Profile File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "removeProfile": {
                    "description": "Remove Profile After Build",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "args": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "cwd": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "outputPattern": {
                    "description": "Output Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "xcodeDeveloperDir": {
                    "description": "Xcode Developer Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "useXcpretty": {
                    "description": "Use xcpretty",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "publishJUnitResults": {
                    "description": "Publish to VSTS/TFS",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "useXctool": {
                    "description": "Use xctool",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "xctoolReporter": {
                    "description": "xctool Test Reporter Format",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "actions",
                  "packageApp",
                  "packageTool",
                  "exportMethod",
                  "exportOptionsPlist",
                  "unlockDefaultKeychain",
                  "outputPattern"
                ],
                "additionalProperties": false,
                "description": "Xcode Build inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Xcode@5$",
                "description": "Xcode\n\nBuild, test, or archive an Xcode workspace on macOS. Optionally package an app.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "actions": {
                    "description": "Actions",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "configuration": {
                    "description": "Configuration",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "sdk": {
                    "description": "SDK",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "xcWorkspacePath": {
                    "description": "Workspace or project path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "scheme": {
                    "description": "Scheme",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "xcodeVersion": {
                    "description": "Xcode version",
                    "ignoreCase": "all",
                    "enum": [
                      "8",
                      "9",
                      "10",
                      "default",
                      "specifyPath"
                    ]
                  },
                  "xcodeDeveloperDir": {
                    "description": "Xcode developer path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "packageApp": {
                    "description": "Create app package",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "archivePath": {
                    "description": "Archive path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportPath": {
                    "description": "Export path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportOptions": {
                    "description": "Export options",
                    "ignoreCase": "all",
                    "enum": [
                      "auto",
                      "plist",
                      "specify"
                    ]
                  },
                  "exportMethod": {
                    "description": "Export method",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportTeamId": {
                    "description": "Team ID",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportOptionsPlist": {
                    "description": "Export options plist",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "exportArgs": {
                    "description": "Export arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "signingOption": {
                    "description": "Signing style",
                    "ignoreCase": "all",
                    "enum": [
                      "nosign",
                      "default",
                      "manual",
                      "auto"
                    ]
                  },
                  "signingIdentity": {
                    "description": "Signing identity",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "provisioningProfileUuid": {
                    "description": "Provisioning profile UUID",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "provisioningProfileName": {
                    "description": "Provisioning profile name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "teamId": {
                    "description": "Team ID",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "destinationPlatformOption": {
                    "description": "Destination platform",
                    "ignoreCase": "all",
                    "enum": [
                      "default",
                      "iOS",
                      "tvOS",
                      "macOS",
                      "custom"
                    ]
                  },
                  "destinationPlatform": {
                    "description": "Custom destination platform",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "destinationTypeOption": {
                    "description": "Destination type",
                    "ignoreCase": "all",
                    "enum": [
                      "simulators",
                      "devices"
                    ]
                  },
                  "destinationSimulators": {
                    "description": "Simulator",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "destinationDevices": {
                    "description": "Device",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "args": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingDirectory": {
                    "description": "Working directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "cwd"
                    ]
                  },
                  "useXcpretty": {
                    "description": "Use xcpretty",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "publishJUnitResults": {
                    "description": "Publish test results to Azure Pipelines/TFS",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "actions",
                  "packageApp",
                  "exportMethod",
                  "exportOptionsPlist"
                ],
                "additionalProperties": false,
                "description": "Xcode inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^PublishPipelineArtifact@0$",
                "description": "Publish Pipeline Artifact\n\nPublish Pipeline Artifact",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "artifactName": {
                    "description": "The name of this artifact",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "targetPath": {
                    "description": "Path to publish",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "artifactName",
                  "targetPath"
                ],
                "additionalProperties": false,
                "description": "Publish Pipeline Artifact inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Gulp@0$",
                "description": "Gulp\n\nNode.js streaming task based build system",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "gulpFile": {
                    "description": "Gulp File Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "targets": {
                    "description": "Gulp Task(s)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingDirectory": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "cwd"
                    ]
                  },
                  "gulpjs": {
                    "description": "gulp.js location",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "publishJUnitResults": {
                    "description": "Publish to Azure Pipelines/TFS",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "testResultsFiles": {
                    "description": "Test Results Files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testRunTitle": {
                    "description": "Test Run Title",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "enableCodeCoverage": {
                    "description": "Enable code Coverage",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "testFramework": {
                    "description": "Test Framework",
                    "ignoreCase": "all",
                    "enum": [
                      "Mocha",
                      "Jasmine"
                    ]
                  },
                  "srcFiles": {
                    "description": "Source Files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testFiles": {
                    "description": "Test Script Files",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "gulpFile",
                  "gulpjs",
                  "testResultsFiles",
                  "enableCodeCoverage",
                  "testFiles"
                ],
                "additionalProperties": false,
                "description": "Gulp inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^XamarinAndroid@1$",
                "description": "Xamarin.Android\n\nBuild an Android app with Xamarin",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "projectFile": {
                    "description": "Project",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "project"
                    ]
                  },
                  "target": {
                    "description": "Target",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "outputDirectory": {
                    "description": "Output directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "outputDir"
                    ]
                  },
                  "configuration": {
                    "description": "Configuration",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "createAppPackage": {
                    "description": "Create app package",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "clean": {
                    "description": "Clean",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "msbuildLocationOption": {
                    "description": "MSBuild",
                    "ignoreCase": "all",
                    "enum": [
                      "version",
                      "location"
                    ],
                    "aliases": [
                      "msbuildLocationMethod"
                    ]
                  },
                  "msbuildVersionOption": {
                    "description": "MSBuild version",
                    "ignoreCase": "all",
                    "enum": [
                      "latest",
                      "15.0",
                      "14.0",
                      "12.0",
                      "4.0"
                    ],
                    "aliases": [
                      "msbuildVersion"
                    ]
                  },
                  "msbuildFile": {
                    "description": "MSBuild location",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "msbuildLocation"
                    ]
                  },
                  "msbuildArchitectureOption": {
                    "description": "MSBuild architecture",
                    "ignoreCase": "all",
                    "enum": [
                      "x86",
                      "x64"
                    ],
                    "aliases": [
                      "msbuildArchitecture"
                    ]
                  },
                  "msbuildArguments": {
                    "description": "Additional arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "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": {
                    "description": "JDK path",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "jdkUserInputPath"
                    ]
                  },
                  "jdkArchitectureOption": {
                    "description": "JDK architecture",
                    "ignoreCase": "all",
                    "enum": [
                      "x86",
                      "x64"
                    ],
                    "aliases": [
                      "jdkArchitecture"
                    ]
                  }
                },
                "required": [
                  "projectFile",
                  "msbuildFile",
                  "jdkOption",
                  "jdkDirectory"
                ],
                "additionalProperties": false,
                "description": "Xamarin.Android inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^ServiceFabricUpdateAppVersions@1$",
                "description": "Update Service Fabric App Versions\n\nAutomatically updates the versions of a packaged Service Fabric application.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "applicationPackagePath": {
                    "description": "Application Package",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "versionSuffix": {
                    "description": "Version Value",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "versionBehavior": {
                    "description": "Version Behavior",
                    "ignoreCase": "all",
                    "enum": [
                      "Append",
                      "Replace"
                    ]
                  },
                  "updateOnlyChanged": {
                    "description": "Update only if changed",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "pkgArtifactName": {
                    "description": "Package Artifact Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "logAllChanges": {
                    "description": "Log all changes",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "compareType": {
                    "description": "Compare against",
                    "ignoreCase": "all",
                    "enum": [
                      "LastSuccessful",
                      "Specific"
                    ]
                  },
                  "buildNumber": {
                    "description": "Build Number",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "applicationPackagePath",
                  "versionSuffix",
                  "updateOnlyChanged"
                ],
                "additionalProperties": false,
                "description": "Update Service Fabric App Versions inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^ServiceFabricUpdateManifests@2$",
                "description": "Update Service Fabric Manifests\n\nAutomatically updates portions of the application and service manifests within a packaged Service Fabric application.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "updateType": {
                    "description": "Update Type",
                    "ignoreCase": "all",
                    "enum": [
                      "Manifest versions",
                      "Docker image settings"
                    ]
                  },
                  "applicationPackagePath": {
                    "description": "Application Package",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "versionSuffix": {
                    "description": "Version Value",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "versionBehavior": {
                    "description": "Version Behavior",
                    "ignoreCase": "all",
                    "enum": [
                      "Append",
                      "Replace"
                    ]
                  },
                  "updateOnlyChanged": {
                    "description": "Update only if changed",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "pkgArtifactName": {
                    "description": "Package Artifact Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "logAllChanges": {
                    "description": "Log all changes",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "compareType": {
                    "description": "Compare against",
                    "ignoreCase": "all",
                    "enum": [
                      "LastSuccessful",
                      "Specific"
                    ]
                  },
                  "buildNumber": {
                    "description": "Build Number",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "overwriteExistingPkgArtifact": {
                    "description": "Overwrite Existing Package Artifact",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "imageNamesPath": {
                    "description": "Image Names Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "imageDigestsPath": {
                    "description": "Image Digests Path",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "updateType",
                  "applicationPackagePath",
                  "versionSuffix",
                  "updateOnlyChanged",
                  "imageDigestsPath"
                ],
                "additionalProperties": false,
                "description": "Update Service Fabric Manifests inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^XcodePackageiOS@0$",
                "description": "Xcode Package iOS\n\nGenerate an .ipa file from Xcode build output using xcrun (Xcode 7 or below)",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "appName": {
                    "description": "Name of .app",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ipaName": {
                    "description": "Name of .ipa",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "provisioningProfile": {
                    "description": "Provisioning Profile Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "sdk": {
                    "description": "SDK",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "appPath": {
                    "description": "Path to .app",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ipaPath": {
                    "description": "Path to place .ipa",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "appName",
                  "ipaName",
                  "provisioningProfile",
                  "sdk",
                  "appPath",
                  "ipaPath"
                ],
                "additionalProperties": false,
                "description": "Xcode Package iOS inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^DeployVisualStudioTestAgent@1$",
                "description": "Visual Studio Test Agent Deployment\n\nDeploy and configure Test Agent to run tests on a set of machines",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "testMachineGroup": {
                    "description": "Machines",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "adminUserName": {
                    "description": "Admin Login",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "adminPassword": {
                    "description": "Admin Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "winRmProtocol": {
                    "description": "Protocol",
                    "ignoreCase": "all",
                    "enum": [
                      "Http",
                      "Https"
                    ]
                  },
                  "testCertificate": {
                    "description": "Test Certificate",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "resourceFilteringMethod": {
                    "description": "Select Machines By",
                    "ignoreCase": "all",
                    "enum": [
                      "machineNames",
                      "tags"
                    ]
                  },
                  "testMachines": {
                    "description": "Filter Criteria",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "machineUserName": {
                    "description": "Username",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "machinePassword": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "runAsProcess": {
                    "description": "Interactive Process",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "agentLocation": {
                    "description": "Test Agent Location",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "updateTestAgent": {
                    "description": "Update Test Agent",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "isDataCollectionOnly": {
                    "description": "Enable Data Collection Only",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "testMachineGroup",
                  "machineUserName",
                  "machinePassword"
                ],
                "additionalProperties": false,
                "description": "Visual Studio Test Agent Deployment inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^DeployVisualStudioTestAgent@2$",
                "description": "Visual Studio Test Agent Deployment\n\nDeprecated: This task and it’s companion task (Run Functional Tests) 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"
              },
              "inputs": {
                "properties": {
                  "testMachines": {
                    "description": "Machines",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "adminUserName": {
                    "description": "Admin login",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "adminPassword": {
                    "description": "Admin password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "winRmProtocol": {
                    "description": "Protocol",
                    "ignoreCase": "all",
                    "enum": [
                      "Http",
                      "Https"
                    ]
                  },
                  "testCertificate": {
                    "description": "Test Certificate",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "machineUserName": {
                    "description": "Username",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "machinePassword": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "runAsProcess": {
                    "description": "Run UI tests",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "isDataCollectionOnly": {
                    "description": "Enable data collection only",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "testPlatform": {
                    "description": "Test agent version",
                    "ignoreCase": "all",
                    "enum": [
                      "15.0",
                      "14.0"
                    ]
                  },
                  "agentLocation": {
                    "description": "Test agent location",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "updateTestAgent": {
                    "description": "Update test agent",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "testMachines",
                  "adminUserName",
                  "adminPassword",
                  "winRmProtocol",
                  "machineUserName",
                  "machinePassword"
                ],
                "additionalProperties": false,
                "description": "Visual Studio Test Agent Deployment inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^PublishCodeCoverageResults@1$",
                "description": "Publish Code Coverage Results\n\nPublish Cobertura or JaCoCo code coverage results from a build",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "codeCoverageTool": {
                    "description": "Code coverage tool",
                    "ignoreCase": "all",
                    "enum": [
                      "Cobertura",
                      "JaCoCo"
                    ]
                  },
                  "summaryFileLocation": {
                    "description": "Summary file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "reportDirectory": {
                    "description": "Report directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "additionalCodeCoverageFiles": {
                    "description": "Additional files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "failIfCoverageEmpty": {
                    "description": "Fail when code coverage results are missing",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "codeCoverageTool",
                  "summaryFileLocation"
                ],
                "additionalProperties": false,
                "description": "Publish Code Coverage Results inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^JenkinsQueueJob@1$",
                "description": "Jenkins Queue Job\n\nQueue a job on a Jenkins server",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "serverEndpoint": {
                    "description": "Jenkins service endpoint",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "jobName": {
                    "description": "Job name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "isMultibranchJob": {
                    "description": "Job is of Multibranch Pipeline type",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "multibranchPipelineBranch": {
                    "description": "Multibranch Pipeline Branch",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "captureConsole": {
                    "description": "Capture console output and wait for completion",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "capturePipeline": {
                    "description": "Capture pipeline output and wait for pipeline completion",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "parameterizedJob": {
                    "description": "Parameterized job",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "jobParameters": {
                    "description": "Job parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "serverEndpoint",
                  "jobName",
                  "multibranchPipelineBranch",
                  "captureConsole",
                  "capturePipeline",
                  "parameterizedJob"
                ],
                "additionalProperties": false,
                "description": "Jenkins Queue Job inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^JenkinsQueueJob@2$",
                "description": "Jenkins Queue Job\n\nQueue a job on a Jenkins server",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "serverEndpoint": {
                    "description": "Jenkins service connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "jobName": {
                    "description": "Job name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "isMultibranchJob": {
                    "description": "Job is of multibranch pipeline type",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "multibranchPipelineBranch": {
                    "description": "Multibranch pipeline branch",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "captureConsole": {
                    "description": "Capture console output and wait for completion",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "capturePipeline": {
                    "description": "Capture pipeline output and wait for pipeline completion",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "isParameterizedJob": {
                    "description": "Parameterized job",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "parameterizedJob"
                    ]
                  },
                  "jobParameters": {
                    "description": "Job parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "serverEndpoint",
                  "jobName",
                  "multibranchPipelineBranch",
                  "captureConsole",
                  "capturePipeline",
                  "isParameterizedJob"
                ],
                "additionalProperties": false,
                "description": "Jenkins Queue Job inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Docker@0$",
                "description": "Docker\n\nBuild, tag, push, or run Docker images, or run a Docker command. Task can be used with Docker or Azure Container registry.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "containerregistrytype": {
                    "description": "Container Registry Type",
                    "ignoreCase": "all",
                    "enum": [
                      "Azure Container Registry",
                      "Container Registry"
                    ]
                  },
                  "dockerRegistryConnection": {
                    "description": "Docker Registry Service Connection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "dockerRegistryEndpoint"
                    ]
                  },
                  "azureSubscription": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "azureSubscriptionEndpoint"
                    ]
                  },
                  "azureContainerRegistry": {
                    "description": "Azure Container Registry",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "action": {
                    "description": "Action",
                    "ignoreCase": "all",
                    "enum": [
                      "Build an image",
                      "Tag images",
                      "Push an image",
                      "Push images",
                      "Run an image",
                      "Run a Docker command"
                    ]
                  },
                  "dockerFile": {
                    "description": "Docker File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "buildArguments": {
                    "description": "Build Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "defaultContext": {
                    "description": "Use Default Build Context",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "context": {
                    "description": "Build Context",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "imageName": {
                    "description": "Image Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "imageNamesPath": {
                    "description": "Image Names Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "qualifyImageName": {
                    "description": "Qualify Image Name",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "additionalImageTags": {
                    "description": "Additional Image Tags",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "includeSourceTags": {
                    "description": "Include Source Tags",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "includeLatestTag": {
                    "description": "Include Latest Tag",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "imageDigestFile": {
                    "description": "Image Digest File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "containerName": {
                    "description": "Container Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ports": {
                    "description": "Ports",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "volumes": {
                    "description": "Volumes",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "envVars": {
                    "description": "Environment Variables",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workDir": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "entrypoint": {
                    "description": "Entry Point Override",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "containerCommand": {
                    "description": "Command",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "detached": {
                    "description": "Run In Background",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "restartPolicy": {
                    "description": "Restart Policy",
                    "ignoreCase": "all",
                    "enum": [
                      "no",
                      "onFailure",
                      "always",
                      "unlessStopped"
                    ]
                  },
                  "restartMaxRetries": {
                    "description": "Maximum Restart Retries",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "customCommand": {
                    "description": "Command",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "dockerHostEndpoint": {
                    "description": "Docker Host Service Connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "enforceDockerNamingConvention": {
                    "description": "Force image name to follow Docker naming convention",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "workingDirectory": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "cwd"
                    ]
                  },
                  "memory": {
                    "description": "Memory limit",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "containerregistrytype",
                  "action",
                  "dockerFile",
                  "imageName",
                  "imageNamesPath",
                  "restartPolicy",
                  "customCommand"
                ],
                "additionalProperties": false,
                "description": "Docker inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Docker@1$",
                "description": "Docker\n\nBuild, tag, push, or run Docker images, or run a Docker command. Task can be used with Docker or Azure Container registry.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "containerregistrytype": {
                    "description": "Container registry type",
                    "ignoreCase": "all",
                    "enum": [
                      "Azure Container Registry",
                      "Container Registry"
                    ]
                  },
                  "dockerRegistryEndpoint": {
                    "description": "Docker registry service connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "azureSubscriptionEndpoint": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "azureContainerRegistry": {
                    "description": "Azure container registry",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "command": {
                    "description": "Command",
                    "ignoreCase": "all",
                    "enum": [
                      "Build an image",
                      "Tag image",
                      "Push an image",
                      "Run an image",
                      "login",
                      "logout"
                    ]
                  },
                  "dockerFile": {
                    "description": "Dockerfile",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "useDefaultContext": {
                    "description": "Use default build context",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "buildContext": {
                    "description": "Build context",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "pushMultipleImages": {
                    "description": "Push multiple images",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "tagMultipleImages": {
                    "description": "Tag multiple images",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "imageName": {
                    "description": "Image name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "imageNamesPath": {
                    "description": "Image names path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "qualifyImageName": {
                    "description": "Qualify image name",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "includeSourceTags": {
                    "description": "Include source tags",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "includeLatestTag": {
                    "description": "Include latest tag",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "addDefaultLabels": {
                    "description": "Add default labels",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "imageDigestFile": {
                    "description": "Image digest file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "containerName": {
                    "description": "Container name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ports": {
                    "description": "Ports",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "volumes": {
                    "description": "Volumes",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "envVars": {
                    "description": "Environment variables",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingDirectory": {
                    "description": "Working directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "entrypointOverride": {
                    "description": "Entry point override",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "containerCommand": {
                    "description": "Command",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "runInBackground": {
                    "description": "Run in background",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "restartPolicy": {
                    "description": "Restart policy",
                    "ignoreCase": "all",
                    "enum": [
                      "no",
                      "onFailure",
                      "always",
                      "unlessStopped"
                    ]
                  },
                  "maxRestartRetries": {
                    "description": "Maximum restart retries",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "dockerHostEndpoint": {
                    "description": "Docker host service connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "enforceDockerNamingConvention": {
                    "description": "Force image name to follow Docker naming convention",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "memoryLimit": {
                    "description": "Memory limit",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "containerregistrytype",
                  "command",
                  "dockerFile",
                  "imageName",
                  "imageNamesPath",
                  "restartPolicy"
                ],
                "additionalProperties": false,
                "description": "Docker inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^CopyFiles@1$",
                "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"
              },
              "inputs": {
                "properties": {
                  "SourceFolder": {
                    "description": "Source Folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Contents": {
                    "description": "Contents",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "TargetFolder": {
                    "description": "Target Folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "CleanTargetFolder": {
                    "description": "Clean Target Folder",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "OverWrite": {
                    "description": "Overwrite",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "flattenFolders": {
                    "description": "Flatten Folders",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "Contents",
                  "TargetFolder"
                ],
                "additionalProperties": false,
                "description": "Copy Files inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^CopyFiles@2$",
                "description": "Copy Files\n\nCopy files from source folder to target folder using match patterns (The match patterns will only match file paths, not folder paths)",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "SourceFolder": {
                    "description": "Source Folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Contents": {
                    "description": "Contents",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "TargetFolder": {
                    "description": "Target Folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "CleanTargetFolder": {
                    "description": "Clean Target Folder",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "OverWrite": {
                    "description": "Overwrite",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "flattenFolders": {
                    "description": "Flatten Folders",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "Contents",
                  "TargetFolder"
                ],
                "additionalProperties": false,
                "description": "Copy Files inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^PublishBuildArtifacts@1$",
                "description": "Publish Build Artifacts\n\nPublish build artifacts to Azure Pipelines/TFS or a file share",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "PathtoPublish": {
                    "description": "Path to publish",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ArtifactName": {
                    "description": "Artifact name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "publishLocation": {
                    "description": "Artifact publish location",
                    "ignoreCase": "all",
                    "enum": [
                      "Container",
                      "FilePath"
                    ],
                    "aliases": [
                      "ArtifactType"
                    ]
                  },
                  "TargetPath": {
                    "description": "File share path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Parallel": {
                    "description": "Parallel copy",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "ParallelCount": {
                    "description": "Parallel count",
                    "ignoreCase": "key",
                    "type": "integer"
                  }
                },
                "required": [
                  "PathtoPublish",
                  "ArtifactName",
                  "publishLocation",
                  "TargetPath"
                ],
                "additionalProperties": false,
                "description": "Publish Build Artifacts inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^PublishTestResults@1$",
                "description": "Publish Test Results\n\nPublish Test Results to VSTS/TFS",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "testRunner": {
                    "description": "Test Result Format",
                    "ignoreCase": "all",
                    "enum": [
                      "JUnit",
                      "NUnit",
                      "VSTest",
                      "XUnit"
                    ]
                  },
                  "testResultsFiles": {
                    "description": "Test Results Files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "mergeTestResults": {
                    "description": "Merge Test Results",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "testRunTitle": {
                    "description": "Test Run Title",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "platform": {
                    "description": "Platform",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "configuration": {
                    "description": "Configuration",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "publishRunAttachments": {
                    "description": "Upload Test Attachments",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "testRunner",
                  "testResultsFiles"
                ],
                "additionalProperties": false,
                "description": "Publish Test Results inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^PublishTestResults@2$",
                "description": "Publish Test Results\n\nPublish Test Results to Azure Pipelines/TFS",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "testResultsFormat": {
                    "description": "Test result format",
                    "ignoreCase": "all",
                    "enum": [
                      "JUnit",
                      "NUnit",
                      "VSTest",
                      "XUnit"
                    ],
                    "aliases": [
                      "testRunner"
                    ]
                  },
                  "testResultsFiles": {
                    "description": "Test results files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "searchFolder": {
                    "description": "Search folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "mergeTestResults": {
                    "description": "Merge test results",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "testRunTitle": {
                    "description": "Test run title",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "buildPlatform": {
                    "description": "Build Platform",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "platform"
                    ]
                  },
                  "buildConfiguration": {
                    "description": "Build Configuration",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "configuration"
                    ]
                  },
                  "publishRunAttachments": {
                    "description": "Upload test results files",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "testResultsFormat",
                  "testResultsFiles"
                ],
                "additionalProperties": false,
                "description": "Publish Test Results inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^PyPIPublisher@0$",
                "description": "PyPI Publisher\n\nCreate and upload an sdist or wheel to a PyPI-compatible index using Twine.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "pypiConnection": {
                    "description": "PyPI service connection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "serviceEndpoint"
                    ]
                  },
                  "packageDirectory": {
                    "description": "Python package directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "wd"
                    ]
                  },
                  "alsoPublishWheel": {
                    "description": "Also publish a wheel",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "wheel"
                    ]
                  }
                },
                "required": [
                  "pypiConnection",
                  "packageDirectory"
                ],
                "additionalProperties": false,
                "description": "PyPI Publisher inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^XamarinLicense@1$",
                "description": "Xamarin License\n\n[Deprecated] Upgrade to free version of Xamarin: https://store.xamarin.com",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "action": {
                    "description": "Action",
                    "ignoreCase": "all",
                    "enum": [
                      "Activate",
                      "Deactivate"
                    ]
                  },
                  "email": {
                    "description": "Email",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "password": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "product": {
                    "description": "Xamarin Product",
                    "ignoreCase": "all",
                    "enum": [
                      "MA",
                      "MT",
                      "MM"
                    ]
                  },
                  "timeout": {
                    "description": "Timeout in Seconds",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "action",
                  "email",
                  "password",
                  "product"
                ],
                "additionalProperties": false,
                "description": "Xamarin License inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^QuickPerfTest@1$",
                "description": "Cloud-based Web Performance Test\n\nRuns a quick web performance test in the cloud with Azure Pipelines",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "connectedServiceName": {
                    "description": "Azure Pipelines Connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "websiteUrl": {
                    "description": "Website URL",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testName": {
                    "description": "Test Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "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": {
                    "description": "Resource group rig",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "numOfSelfProvisionedAgents": {
                    "description": "No. of agents to use",
                    "ignoreCase": "key",
                    "type": "integer"
                  },
                  "avgResponseTimeThreshold": {
                    "description": "Fail test if Avg.Response Time(ms) exceeds",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "websiteUrl",
                  "testName",
                  "vuLoad",
                  "runDuration",
                  "machineType"
                ],
                "additionalProperties": false,
                "description": "Cloud-based Web Performance Test inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^DownloadPackage@0$",
                "description": "Download Package\n\nDownload a package from a Package Management feed in Azure Artifacts or TFS.  Requires the Package Management extension.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "feed": {
                    "description": "Feed",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "definition": {
                    "description": "Package",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "version": {
                    "description": "Version",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "downloadPath": {
                    "description": "Destination directory",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "feed",
                  "definition",
                  "version",
                  "downloadPath"
                ],
                "additionalProperties": false,
                "description": "Download Package inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^SonarQubePreBuild@1$",
                "description": "SonarQube for MSBuild - Begin Analysis\n\n[DEPRECATED] Fetch the Quality Profile from SonarQube to configure the analysis",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "projectKey": {
                    "description": "Project Key",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "projectName": {
                    "description": "Project Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "projectVersion": {
                    "description": "Project Version",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "connectedServiceName": {
                    "description": "SonarQube Endpoint",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "dbUrl": {
                    "description": "Db Connection String",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "dbUsername": {
                    "description": "Db UserName",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "dbPassword": {
                    "description": "Db User Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "cmdLineArgs": {
                    "description": "Additional Settings",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "configFile": {
                    "description": "Settings File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "includeFullReport": {
                    "description": "Include full analysis report in the build summary (SQ 5.3+)",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "breakBuild": {
                    "description": "Fail the build on quality gate failure (SQ 5.3+)",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "projectKey",
                  "projectName",
                  "projectVersion",
                  "connectedServiceName"
                ],
                "additionalProperties": false,
                "description": "SonarQube for MSBuild - Begin Analysis inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^NodeTool@0$",
                "description": "Node Tool Installer\n\nFinds or Downloads and caches specified version spec of Node and adds it to the PATH.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "versionSpec": {
                    "description": "Version Spec",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "checkLatest": {
                    "description": "Check for Latest Version",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "versionSpec"
                ],
                "additionalProperties": false,
                "description": "Node Tool Installer inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^CopyPublishBuildArtifacts@1$",
                "description": "Copy and Publish Build Artifacts\n\n[DEPRECATED] Use the Copy Files task and the Publish Build Artifacts task instead",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "CopyRoot": {
                    "description": "Copy Root",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Contents": {
                    "description": "Contents",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ArtifactName": {
                    "description": "Artifact Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ArtifactType": {
                    "description": "Artifact Type",
                    "ignoreCase": "all",
                    "enum": [
                      "Container",
                      "FilePath"
                    ]
                  },
                  "TargetPath": {
                    "description": "Path",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "Contents",
                  "ArtifactName",
                  "ArtifactType"
                ],
                "additionalProperties": false,
                "description": "Copy and Publish Build Artifacts inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^DownloadBuildArtifacts@0$",
                "description": "Download Build Artifacts\n\nDownload Build Artifacts",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "buildType": {
                    "description": "Download artifacts produced by",
                    "ignoreCase": "all",
                    "enum": [
                      "current",
                      "specific"
                    ]
                  },
                  "project": {
                    "description": "Project",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "pipeline": {
                    "description": "Build pipeline",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "definition"
                    ]
                  },
                  "specificBuildWithTriggering": {
                    "description": "When appropriate, download artifacts from the triggering build.",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "buildVersionToDownload": {
                    "description": "Build version to download",
                    "ignoreCase": "all",
                    "enum": [
                      "latest",
                      "latestFromBranch",
                      "specific"
                    ]
                  },
                  "branchName": {
                    "description": "Branch name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "buildId": {
                    "description": "Build",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "tags": {
                    "description": "Build Tags",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "downloadType": {
                    "description": "Download type",
                    "ignoreCase": "all",
                    "enum": [
                      "single",
                      "specific"
                    ]
                  },
                  "artifactName": {
                    "description": "Artifact name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "itemPattern": {
                    "description": "Matching pattern",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "downloadPath": {
                    "description": "Destination directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "parallelizationLimit": {
                    "description": "Parallelization limit",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "buildType",
                  "project",
                  "pipeline",
                  "buildVersionToDownload",
                  "branchName",
                  "buildId",
                  "downloadType",
                  "artifactName",
                  "downloadPath"
                ],
                "additionalProperties": false,
                "description": "Download Build Artifacts inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^MSBuild@1$",
                "description": "MSBuild\n\nBuild with MSBuild",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "solution": {
                    "description": "Project",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "msbuildLocationMethod": {
                    "description": "MSBuild",
                    "ignoreCase": "all",
                    "enum": [
                      "version",
                      "location"
                    ]
                  },
                  "msbuildVersion": {
                    "description": "MSBuild Version",
                    "ignoreCase": "all",
                    "enum": [
                      "latest",
                      "15.0",
                      "14.0",
                      "12.0",
                      "4.0"
                    ]
                  },
                  "msbuildArchitecture": {
                    "description": "MSBuild Architecture",
                    "ignoreCase": "all",
                    "enum": [
                      "x86",
                      "x64"
                    ]
                  },
                  "msbuildLocation": {
                    "description": "Path to MSBuild",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "platform": {
                    "description": "Platform",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "configuration": {
                    "description": "Configuration",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "msbuildArguments": {
                    "description": "MSBuild Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "clean": {
                    "description": "Clean",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "maximumCpuCount": {
                    "description": "Build in Parallel",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "restoreNugetPackages": {
                    "description": "Restore NuGet Packages",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "logProjectEvents": {
                    "description": "Record Project Details",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "createLogFile": {
                    "description": "Create Log File",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "solution"
                ],
                "additionalProperties": false,
                "description": "MSBuild inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^NuGet@0$",
                "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 account/collection, and uses NuGet 4 by default.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "command": {
                    "description": "Command",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "command"
                ],
                "additionalProperties": false,
                "description": "NuGet Command inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^SqlServerDacpacDeployment@1$",
                "description": "[Deprecated] SQL Server Database Deploy\n\nDeploy SQL Server Database using DACPAC",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "EnvironmentName": {
                    "description": "Machines",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AdminUserName": {
                    "description": "Admin Login",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AdminPassword": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Protocol": {
                    "description": "Protocol",
                    "ignoreCase": "all",
                    "enum": [
                      "Http",
                      "Https"
                    ]
                  },
                  "TestCertificate": {
                    "description": "Test Certificate",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "DacpacFile": {
                    "description": "DACPAC File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "TargetMethod": {
                    "description": "Specify SQL Using",
                    "ignoreCase": "all",
                    "enum": [
                      "server",
                      "connectionString",
                      "publishProfile"
                    ]
                  },
                  "ServerName": {
                    "description": "Server Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "DatabaseName": {
                    "description": "Database Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SqlUsername": {
                    "description": "SQL Username",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SqlPassword": {
                    "description": "SQL Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ConnectionString": {
                    "description": "Connection String",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "PublishProfile": {
                    "description": "Publish Profile",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AdditionalArguments": {
                    "description": "Additional Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "DeployInParallel": {
                    "description": "Deploy in Parallel",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "ResourceFilteringMethod": {
                    "description": "Select Machines By",
                    "ignoreCase": "all",
                    "enum": [
                      "machineNames",
                      "tags"
                    ]
                  },
                  "MachineFilter": {
                    "description": "Deploy to Machines",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "EnvironmentName",
                  "DacpacFile",
                  "TargetMethod",
                  "ServerName",
                  "DatabaseName",
                  "ConnectionString"
                ],
                "additionalProperties": false,
                "description": "[Deprecated] SQL Server Database Deploy inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^PowerShellOnTargetMachines@3$",
                "description": "PowerShell on Target Machines\n\nExecute PowerShell scripts on remote machine(s). This version of the task uses PSSession and Invoke-Command for remoting.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "Machines": {
                    "description": "Machines",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "UserName": {
                    "description": "Username",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "UserPassword": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ScriptType": {
                    "description": "Script Type",
                    "ignoreCase": "all",
                    "enum": [
                      "FilePath",
                      "Inline"
                    ]
                  },
                  "ScriptPath": {
                    "description": "Script File Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "InlineScript": {
                    "description": "Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ScriptArguments": {
                    "description": "Script Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "InitializationScript": {
                    "description": "Initialization script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SessionVariables": {
                    "description": "Session Variables",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "CommunicationProtocol": {
                    "description": "Protocol",
                    "ignoreCase": "all",
                    "enum": [
                      "Http",
                      "Https"
                    ]
                  },
                  "AuthenticationMechanism": {
                    "description": "Authentication",
                    "ignoreCase": "all",
                    "enum": [
                      "Default",
                      "Credssp"
                    ]
                  },
                  "NewPsSessionOptionArguments": {
                    "description": "Session Option parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ErrorActionPreference": {
                    "description": "ErrorActionPreference",
                    "ignoreCase": "all",
                    "enum": [
                      "stop",
                      "continue",
                      "silentlyContinue"
                    ]
                  },
                  "failOnStderr": {
                    "description": "Fail on Standard Error",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "ignoreLASTEXITCODE": {
                    "description": "Ignore $LASTEXITCODE",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "WorkingDirectory": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "RunPowershellInParallel": {
                    "description": "Run PowerShell in Parallel",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "Machines",
                  "ScriptPath",
                  "InlineScript"
                ],
                "additionalProperties": false,
                "description": "PowerShell on Target Machines inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^PowerShellOnTargetMachines@1$",
                "description": "PowerShell on Target Machines\n\nExecute PowerShell scripts on remote machine(s)",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "EnvironmentName": {
                    "description": "Machines",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AdminUserName": {
                    "description": "Admin Login",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AdminPassword": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Protocol": {
                    "description": "Protocol",
                    "ignoreCase": "all",
                    "enum": [
                      "Http",
                      "Https"
                    ]
                  },
                  "TestCertificate": {
                    "description": "Test Certificate",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "ScriptPath": {
                    "description": "PowerShell Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ScriptArguments": {
                    "description": "Script Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "InitializationScriptPath": {
                    "description": "Initialization Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SessionVariables": {
                    "description": "Session Variables",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "RunPowershellInParallel": {
                    "description": "Run PowerShell in Parallel",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "ResourceFilteringMethod": {
                    "description": "Select Machines By",
                    "ignoreCase": "all",
                    "enum": [
                      "machineNames",
                      "tags"
                    ]
                  },
                  "MachineNames": {
                    "description": "Filter Criteria",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "EnvironmentName",
                  "ScriptPath"
                ],
                "additionalProperties": false,
                "description": "PowerShell on Target Machines inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^PowerShellOnTargetMachines@2$",
                "description": "PowerShell on Target Machines\n\nExecute PowerShell scripts on remote machine(s)",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "EnvironmentName": {
                    "description": "Machines",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AdminUserName": {
                    "description": "Admin Login",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AdminPassword": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Protocol": {
                    "description": "Protocol",
                    "ignoreCase": "all",
                    "enum": [
                      "Http",
                      "Https"
                    ]
                  },
                  "TestCertificate": {
                    "description": "Test Certificate",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "ScriptPath": {
                    "description": "PowerShell Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ScriptArguments": {
                    "description": "Script Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "InitializationScriptPath": {
                    "description": "Initialization Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SessionVariables": {
                    "description": "Session Variables",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "RunPowershellInParallel": {
                    "description": "Run PowerShell in Parallel",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "ResourceFilteringMethod": {
                    "description": "Select Machines By",
                    "ignoreCase": "all",
                    "enum": [
                      "machineNames",
                      "tags"
                    ]
                  },
                  "MachineNames": {
                    "description": "Filter Criteria",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "EnvironmentName",
                  "ScriptPath"
                ],
                "additionalProperties": false,
                "description": "PowerShell on Target Machines inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^ChefKnife@1$",
                "description": "Chef Knife\n\nRun Scripts with knife commands on your chef workstation",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "ConnectedServiceName": {
                    "description": "Chef Subscription",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ScriptPath": {
                    "description": "Script Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ScriptArguments": {
                    "description": "Script Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "ConnectedServiceName",
                  "ScriptPath"
                ],
                "additionalProperties": false,
                "description": "Chef Knife inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^DecryptFile@1$",
                "description": "Decrypt File (OpenSSL)\n\nA thin utility task for file decryption using OpenSSL.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "cipher": {
                    "description": "Cypher",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "inFile": {
                    "description": "Encrypted file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "passphrase": {
                    "description": "Passphrase",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "outFile": {
                    "description": "Decrypted file path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingDirectory": {
                    "description": "Working directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "cwd"
                    ]
                  }
                },
                "required": [
                  "cipher",
                  "inFile",
                  "passphrase"
                ],
                "additionalProperties": false,
                "description": "Decrypt File (OpenSSL) inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task"
            ],
            "properties": {
              "task": {
                "pattern": "^SonarQubePostTest@1$",
                "description": "SonarQube for MSBuild - End Analysis\n\n[DEPRECATED] Finish the analysis and upload the results to SonarQube",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {},
                "required": [],
                "additionalProperties": false,
                "description": "SonarQube for MSBuild - End Analysis inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^VisualStudioTestPlatformInstaller@1$",
                "description": "Visual Studio Test Platform Installer\n\nAcquires the test platform from nuget.org or the tools cache. Satisfies the ‘vstest’ demand and can be used for running tests and collecting diagnostic data using the Visual Studio Test task.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "packageFeedSelector": {
                    "description": "Package Feed",
                    "ignoreCase": "all",
                    "enum": [
                      "nugetOrg",
                      "customFeed",
                      "netShare"
                    ]
                  },
                  "versionSelector": {
                    "description": "Version",
                    "ignoreCase": "all",
                    "enum": [
                      "latestPreRelease",
                      "latestStable",
                      "specificVersion"
                    ]
                  },
                  "testPlatformVersion": {
                    "description": "Test Platform Version",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "customFeed": {
                    "description": "Package Source",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "username": {
                    "description": "User Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "password": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "netShare": {
                    "description": "UNC Path",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "packageFeedSelector",
                  "versionSelector",
                  "testPlatformVersion",
                  "customFeed",
                  "netShare"
                ],
                "additionalProperties": false,
                "description": "Visual Studio Test Platform Installer inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureRmWebAppDeployment@4$",
                "description": "Azure App Service Deploy\n\nUpdate Azure App Services on Windows, Web App on Linux with built-in images or Docker containers, ASP.NET, .NET Core, PHP, Python or Node.js based Web applications, Function Apps on Windows or Linux with Docker Containers, Mobile Apps, API applications, Web Jobs using Web Deploy / Kudu REST APIs",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "ConnectionType": {
                    "description": "Connection type",
                    "ignoreCase": "all",
                    "enum": [
                      "AzureRM",
                      "PublishProfile"
                    ]
                  },
                  "azureSubscription": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceName"
                    ]
                  },
                  "PublishProfilePath": {
                    "description": "Publish profile path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "PublishProfilePassword": {
                    "description": "Publish profile password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "appType": {
                    "description": "App Service type",
                    "ignoreCase": "all",
                    "enum": [
                      "webApp",
                      "webAppLinux",
                      "webAppContainer",
                      "functionApp",
                      "functionAppLinux",
                      "functionAppContainer",
                      "apiApp",
                      "mobileApp"
                    ],
                    "aliases": [
                      "WebAppKind"
                    ]
                  },
                  "WebAppName": {
                    "description": "App Service name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "deployToSlotOrASE": {
                    "description": "Deploy to Slot or App Service Environment",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "DeployToSlotOrASEFlag"
                    ]
                  },
                  "ResourceGroupName": {
                    "description": "Resource group",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SlotName": {
                    "description": "Slot",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "DockerNamespace": {
                    "description": "Registry or Namespace",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "DockerRepository": {
                    "description": "Image",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "DockerImageTag": {
                    "description": "Tag",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "VirtualApplication": {
                    "description": "Virtual application",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "packageForLinux": {
                    "description": "Package or folder",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "Package"
                    ]
                  },
                  "RuntimeStack": {
                    "description": "Runtime Stack",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "RuntimeStackFunction": {
                    "description": "Runtime Stack",
                    "ignoreCase": "all",
                    "enum": [
                      "DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0",
                      "DOCKER|microsoft/azure-functions-node8:2.0"
                    ]
                  },
                  "StartupCommand": {
                    "description": "Startup command ",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ScriptType": {
                    "description": "Deployment script type",
                    "ignoreCase": "all",
                    "enum": [
                      "",
                      "Inline Script",
                      "File Path"
                    ]
                  },
                  "InlineScript": {
                    "description": "Inline Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ScriptPath": {
                    "description": "Deployment script path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "WebConfigParameters": {
                    "description": "Generate web.config parameters for Python, Node.js, Go and Java apps",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AppSettings": {
                    "description": "App settings",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ConfigurationSettings": {
                    "description": "Configuration settings",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "enableCustomDeployment": {
                    "description": "Select deployment method",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "UseWebDeploy"
                    ]
                  },
                  "DeploymentType": {
                    "description": "Deployment method",
                    "ignoreCase": "all",
                    "enum": [
                      "webDeploy",
                      "zipDeploy",
                      "runFromZip"
                    ]
                  },
                  "TakeAppOfflineFlag": {
                    "description": "Take App Offline",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "SetParametersFile": {
                    "description": "SetParameters file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "RemoveAdditionalFilesFlag": {
                    "description": "Remove additional files at destination",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "ExcludeFilesFromAppDataFlag": {
                    "description": "Exclude files from the App_Data folder",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "AdditionalArguments": {
                    "description": "Additional arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "RenameFilesFlag": {
                    "description": "Rename locked files",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "enableXmlTransform": {
                    "description": "XML transformation",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "XmlTransformation"
                    ]
                  },
                  "enableXmlVariableSubstitution": {
                    "description": "XML variable substitution",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "XmlVariableSubstitution"
                    ]
                  },
                  "JSONFiles": {
                    "description": "JSON variable substitution",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "ConnectionType",
                  "azureSubscription",
                  "PublishProfilePath",
                  "PublishProfilePassword",
                  "appType",
                  "WebAppName",
                  "ResourceGroupName",
                  "SlotName",
                  "DockerNamespace",
                  "DockerRepository",
                  "packageForLinux",
                  "InlineScript",
                  "ScriptPath",
                  "DeploymentType"
                ],
                "additionalProperties": false,
                "description": "Azure App Service Deploy inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureRmWebAppDeployment@2$",
                "description": "Azure App Service Deploy\n\nUpdate Azure App Service using Web Deploy / Kudu REST APIs",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "ConnectedServiceName": {
                    "description": "Azure Subscription",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "WebAppName": {
                    "description": "App Service name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "DeployToSlotFlag": {
                    "description": "Deploy to slot",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "ResourceGroupName": {
                    "description": "Resource group",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SlotName": {
                    "description": "Slot",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "VirtualApplication": {
                    "description": "Virtual Application",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Package": {
                    "description": "Package or Folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "WebAppUri": {
                    "description": "App Service URL",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "UseWebDeploy": {
                    "description": "Publish using Web Deploy",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "SetParametersFile": {
                    "description": "SetParameters File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "RemoveAdditionalFilesFlag": {
                    "description": "Remove Additional Files at Destination",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "ExcludeFilesFromAppDataFlag": {
                    "description": "Exclude Files from the App_Data Folder",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "AdditionalArguments": {
                    "description": "Additional Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "TakeAppOfflineFlag": {
                    "description": "Take App Offline",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "ConnectedServiceName",
                  "WebAppName",
                  "ResourceGroupName",
                  "SlotName",
                  "Package"
                ],
                "additionalProperties": false,
                "description": "Azure App Service Deploy inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureRmWebAppDeployment@3$",
                "description": "Azure App Service Deploy\n\nUpdate Azure App Services on Windows, Web App on Linux with built-in images or Docker containers, ASP.NET, .NET Core, PHP, Python or Node.js based Web applications, Function Apps, Mobile Apps, API applications, Web Jobs using Web Deploy / Kudu REST APIs",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "azureSubscription": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceName"
                    ]
                  },
                  "appType": {
                    "description": "App type",
                    "ignoreCase": "all",
                    "enum": [
                      "app",
                      "applinux",
                      "functionapp",
                      "api",
                      "mobileapp"
                    ],
                    "aliases": [
                      "WebAppKind"
                    ]
                  },
                  "WebAppName": {
                    "description": "App Service name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "DeployToSlotFlag": {
                    "description": "Deploy to slot",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "ResourceGroupName": {
                    "description": "Resource group",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SlotName": {
                    "description": "Slot",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ImageSource": {
                    "description": "Image Source",
                    "ignoreCase": "all",
                    "enum": [
                      "Registry",
                      "Builtin"
                    ]
                  },
                  "AzureContainerRegistry": {
                    "description": "Registry",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AzureContainerRegistryLoginServer": {
                    "description": "Registry Login Server Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AzureContainerRegistryImage": {
                    "description": "Image",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AzureContainerRegistryTag": {
                    "description": "Tag",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "DockerRepositoryAccess": {
                    "description": "Repository Access",
                    "ignoreCase": "all",
                    "enum": [
                      "private",
                      "public"
                    ]
                  },
                  "dockerRegistryConnection": {
                    "description": "Registry Connection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "RegistryConnectedServiceName"
                    ]
                  },
                  "PrivateRegistryImage": {
                    "description": "Image",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "PrivateRegistryTag": {
                    "description": "Tag",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "DockerNamespace": {
                    "description": "Registry or Namespace",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "DockerRepository": {
                    "description": "Image",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "DockerImageTag": {
                    "description": "Tag",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "VirtualApplication": {
                    "description": "Virtual application",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Package": {
                    "description": "Package or folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "packageForLinux": {
                    "description": "Package or folder",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "BuiltinLinuxPackage"
                    ]
                  },
                  "RuntimeStack": {
                    "description": "Runtime Stack",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "StartupCommand": {
                    "description": "Startup command ",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "WebAppUri": {
                    "description": "App Service URL",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ScriptType": {
                    "description": "Deployment script type",
                    "ignoreCase": "all",
                    "enum": [
                      "",
                      "Inline Script",
                      "File Path"
                    ]
                  },
                  "InlineScript": {
                    "description": "Inline Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ScriptPath": {
                    "description": "Deployment script path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "GenerateWebConfig": {
                    "description": "Generate Web.config",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "WebConfigParameters": {
                    "description": "Web.config parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AppSettings": {
                    "description": "App settings",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ConfigurationSettings": {
                    "description": "Configuration settings",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "TakeAppOfflineFlag": {
                    "description": "Take App Offline",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "UseWebDeploy": {
                    "description": "Publish using Web Deploy",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "SetParametersFile": {
                    "description": "SetParameters file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "RemoveAdditionalFilesFlag": {
                    "description": "Remove additional files at destination",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "ExcludeFilesFromAppDataFlag": {
                    "description": "Exclude files from the App_Data folder",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "AdditionalArguments": {
                    "description": "Additional arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "RenameFilesFlag": {
                    "description": "Rename locked files",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "enableXmlTransform": {
                    "description": "XML transformation",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "XmlTransformation"
                    ]
                  },
                  "enableXmlVariableSubstitution": {
                    "description": "XML variable substitution",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "XmlVariableSubstitution"
                    ]
                  },
                  "JSONFiles": {
                    "description": "JSON variable substitution",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "azureSubscription",
                  "appType",
                  "WebAppName",
                  "ResourceGroupName",
                  "SlotName",
                  "AzureContainerRegistry",
                  "AzureContainerRegistryImage",
                  "DockerRepositoryAccess",
                  "dockerRegistryConnection",
                  "PrivateRegistryImage",
                  "DockerNamespace",
                  "DockerRepository",
                  "Package",
                  "packageForLinux",
                  "RuntimeStack",
                  "InlineScript",
                  "ScriptPath",
                  "WebConfigParameters"
                ],
                "additionalProperties": false,
                "description": "Azure App Service Deploy inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Ant@1$",
                "description": "Ant\n\nBuild with Apache Ant",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "buildFile": {
                    "description": "Ant build file",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "antBuildFile"
                    ]
                  },
                  "options": {
                    "description": "Options",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "targets": {
                    "description": "Target(s)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "publishJUnitResults": {
                    "description": "Publish to Azure Pipelines/TFS",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "testResultsFiles": {
                    "description": "Test results files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testRunTitle": {
                    "description": "Test run title",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "codeCoverageToolOptions": {
                    "description": "Code coverage tool",
                    "ignoreCase": "all",
                    "enum": [
                      "None",
                      "Cobertura",
                      "JaCoCo"
                    ],
                    "aliases": [
                      "codeCoverageTool"
                    ]
                  },
                  "codeCoverageClassFilesDirectories": {
                    "description": "Class files directories",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "classFilesDirectories"
                    ]
                  },
                  "codeCoverageClassFilter": {
                    "description": "Class inclusion/exclusion filters",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "classFilter"
                    ]
                  },
                  "codeCoverageSourceDirectories": {
                    "description": "Source files directories",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "srcDirectories"
                    ]
                  },
                  "codeCoverageFailIfEmpty": {
                    "description": "Fail when code coverage results are missing",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "failIfCoverageEmpty"
                    ]
                  },
                  "antHomeDirectory": {
                    "description": "Set ANT_HOME path",
                    "ignoreCase": "key",
                    "type": "string",
                    "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": {
                    "description": "JDK path",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "jdkUserInputPath"
                    ]
                  },
                  "jdkArchitectureOption": {
                    "description": "JDK architecture",
                    "ignoreCase": "all",
                    "enum": [
                      "x86",
                      "x64"
                    ],
                    "aliases": [
                      "jdkArchitecture"
                    ]
                  }
                },
                "required": [
                  "buildFile",
                  "publishJUnitResults",
                  "testResultsFiles",
                  "codeCoverageClassFilesDirectories",
                  "javaHomeOption",
                  "jdkUserInputDirectory"
                ],
                "additionalProperties": false,
                "description": "Ant inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^DownloadSecureFile@1$",
                "description": "Download Secure File\n\nDownload a secure file to a temporary location on the build or release agent",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "secureFile": {
                    "description": "Secure File",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "secureFile"
                ],
                "additionalProperties": false,
                "description": "Download Secure File inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^JenkinsDownloadArtifacts@1$",
                "description": "Jenkins Download Artifacts\n\nDownload artifacts produced by a Jenkins job",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "jenkinsServerConnection": {
                    "description": "Jenkins service connection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "serverEndpoint"
                    ]
                  },
                  "jobName": {
                    "description": "Job name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "jenkinsJobType": {
                    "description": "Jenkins job type",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "saveTo": {
                    "description": "Save to",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "jenkinsBuild": {
                    "description": "Download artifacts produced by",
                    "ignoreCase": "all",
                    "enum": [
                      "LastSuccessfulBuild",
                      "BuildNumber"
                    ]
                  },
                  "jenkinsBuildNumber": {
                    "description": "Jenkins build number",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "itemPattern": {
                    "description": "Item Pattern",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "downloadCommitsAndWorkItems": {
                    "description": "Download Commits and WorkItems",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "startJenkinsBuildNumber": {
                    "description": "Download commits and work items from",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "artifactDetailsFileNameSuffix": {
                    "description": "Commit and WorkItem FileName",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "propagatedArtifacts": {
                    "description": "Artifacts are propagated to Azure",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "artifactProvider": {
                    "description": "Artifact Provider",
                    "ignoreCase": "all",
                    "enum": [
                      "azureStorage"
                    ]
                  },
                  "ConnectedServiceNameARM": {
                    "description": "Azure Subscription",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "storageAccountName": {
                    "description": "Storage Account Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "containerName": {
                    "description": "Container Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "commonVirtualPath": {
                    "description": "Common Virtual Path",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "jenkinsServerConnection",
                  "jobName",
                  "saveTo",
                  "jenkinsBuild",
                  "jenkinsBuildNumber",
                  "artifactProvider",
                  "ConnectedServiceNameARM",
                  "storageAccountName",
                  "containerName"
                ],
                "additionalProperties": false,
                "description": "Jenkins Download Artifacts inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureCloudPowerShellDeployment@1$",
                "description": "Azure Cloud Service Deployment\n\nDeploy an Azure Cloud Service",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "azureClassicSubscription": {
                    "description": "Azure subscription (Classic)",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceName"
                    ]
                  },
                  "StorageAccount": {
                    "description": "Storage account",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ServiceName": {
                    "description": "Service name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ServiceLocation": {
                    "description": "Service location",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "CsPkg": {
                    "description": "CsPkg",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "CsCfg": {
                    "description": "CsCfg",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "slotName": {
                    "description": "Environment (Slot)",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "Slot"
                    ]
                  },
                  "DeploymentLabel": {
                    "description": "Deployment label",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AppendDateTimeToLabel": {
                    "description": "Append current date and time",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "AllowUpgrade": {
                    "description": "Allow upgrade",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "SimultaneousUpgrade": {
                    "description": "Simultaneous upgrade",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "ForceUpgrade": {
                    "description": "Force upgrade",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "VerifyRoleInstanceStatus": {
                    "description": "Verify role instance status",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "DiagnosticStorageAccountKeys": {
                    "description": "Diagnostic storage account keys",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "NewServiceCustomCertificates": {
                    "description": "Custom certificates to import",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "NewServiceAdditionalArguments": {
                    "description": "Additional arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "NewServiceAffinityGroup": {
                    "description": "Affinity group",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "azureClassicSubscription",
                  "StorageAccount",
                  "ServiceName",
                  "ServiceLocation",
                  "CsPkg",
                  "CsCfg",
                  "slotName",
                  "AllowUpgrade"
                ],
                "additionalProperties": false,
                "description": "Azure Cloud Service Deployment inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^CopyFilesOverSSH@0$",
                "description": "Copy Files Over SSH\n\nCopy files or build artifacts to a remote machine over SSH",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "sshEndpoint": {
                    "description": "SSH service connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "sourceFolder": {
                    "description": "Source folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "contents": {
                    "description": "Contents",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "targetFolder": {
                    "description": "Target folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "cleanTargetFolder": {
                    "description": "Clean target folder",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "overwrite": {
                    "description": "Overwrite",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "failOnEmptySource": {
                    "description": "Fail if no files found to copy",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "flattenFolders": {
                    "description": "Flatten folders",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "sshEndpoint",
                  "contents"
                ],
                "additionalProperties": false,
                "description": "Copy Files Over SSH inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^ArchiveFiles@1$",
                "description": "Archive Files\n\nArchive files using compression formats such as .7z, .rar, .tar.gz, and .zip.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "rootFolder": {
                    "description": "Root folder (or file) to archive",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "includeRootFolder": {
                    "description": "Prefix root folder name to archive paths",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "archiveType": {
                    "description": "Archive type",
                    "ignoreCase": "all",
                    "enum": [
                      "default",
                      "7z",
                      "tar",
                      "wim"
                    ]
                  },
                  "tarCompression": {
                    "description": "Tar compression",
                    "ignoreCase": "all",
                    "enum": [
                      "gz",
                      "bz2",
                      "xz",
                      "none"
                    ]
                  },
                  "archiveFile": {
                    "description": "Archive file to create",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "replaceExistingArchive": {
                    "description": "Replace existing archive",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "rootFolder",
                  "includeRootFolder",
                  "archiveType",
                  "archiveFile",
                  "replaceExistingArchive"
                ],
                "additionalProperties": false,
                "description": "Archive Files inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^ArchiveFiles@2$",
                "description": "Archive Files\n\nArchive files using compression formats such as .7z, .rar, .tar.gz, and .zip.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "rootFolderOrFile": {
                    "description": "Root folder or file to archive",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "includeRootFolder": {
                    "description": "Prepend root folder name to archive paths",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "archiveType": {
                    "description": "Archive type",
                    "ignoreCase": "all",
                    "enum": [
                      "zip",
                      "7z",
                      "tar",
                      "wim"
                    ]
                  },
                  "tarCompression": {
                    "description": "Tar compression",
                    "ignoreCase": "all",
                    "enum": [
                      "gz",
                      "bz2",
                      "xz",
                      "none"
                    ]
                  },
                  "archiveFile": {
                    "description": "Archive file to create",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "replaceExistingArchive": {
                    "description": "Replace existing archive",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "rootFolderOrFile",
                  "includeRootFolder",
                  "archiveType",
                  "archiveFile",
                  "replaceExistingArchive"
                ],
                "additionalProperties": false,
                "description": "Archive Files inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^XamarinComponentRestore@0$",
                "description": "Xamarin Component Restore\n\nThis task is deprecated. Use 'NuGet' instead.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "solutionFile": {
                    "description": "Path to solution",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "solution"
                    ]
                  },
                  "email": {
                    "description": "Email",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "password": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "solutionFile",
                  "email",
                  "password"
                ],
                "additionalProperties": false,
                "description": "Xamarin Component Restore inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^ServiceFabricDeploy@1$",
                "description": "Service Fabric Application Deployment\n\nDeploy a Service Fabric application to a cluster.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "applicationPackagePath": {
                    "description": "Application Package",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "serviceConnectionName": {
                    "description": "Cluster Service Connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "publishProfilePath": {
                    "description": "Publish Profile",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "applicationParameterPath": {
                    "description": "Application Parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "overrideApplicationParameter": {
                    "description": "Override Application Parameters",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "compressPackage": {
                    "description": "Compress Package",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "copyPackageTimeoutSec": {
                    "description": "CopyPackageTimeoutSec",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "registerPackageTimeoutSec": {
                    "description": "RegisterPackageTimeoutSec",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "overwriteBehavior": {
                    "description": "Overwrite Behavior",
                    "ignoreCase": "all",
                    "enum": [
                      "Always",
                      "Never",
                      "SameAppTypeAndVersion"
                    ]
                  },
                  "skipUpgradeSameTypeAndVersion": {
                    "description": "Skip upgrade for same Type and Version",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "skipPackageValidation": {
                    "description": "Skip package validation",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "useDiffPackage": {
                    "description": "Use Diff Package",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "overridePublishProfileSettings": {
                    "description": "Override All Publish Profile Upgrade Settings",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "isUpgrade": {
                    "description": "Upgrade the Application",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "unregisterUnusedVersions": {
                    "description": "Unregister Unused Versions",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "upgradeMode": {
                    "description": "Upgrade Mode",
                    "ignoreCase": "all",
                    "enum": [
                      "Monitored",
                      "UnmonitoredAuto",
                      "UnmonitoredManual"
                    ]
                  },
                  "FailureAction": {
                    "description": "FailureAction",
                    "ignoreCase": "all",
                    "enum": [
                      "Rollback",
                      "Manual"
                    ]
                  },
                  "UpgradeReplicaSetCheckTimeoutSec": {
                    "description": "UpgradeReplicaSetCheckTimeoutSec",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "TimeoutSec": {
                    "description": "TimeoutSec",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ForceRestart": {
                    "description": "ForceRestart",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "HealthCheckRetryTimeoutSec": {
                    "description": "HealthCheckRetryTimeoutSec",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "HealthCheckWaitDurationSec": {
                    "description": "HealthCheckWaitDurationSec",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "HealthCheckStableDurationSec": {
                    "description": "HealthCheckStableDurationSec",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "UpgradeDomainTimeoutSec": {
                    "description": "UpgradeDomainTimeoutSec",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ConsiderWarningAsError": {
                    "description": "ConsiderWarningAsError",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "DefaultServiceTypeHealthPolicy": {
                    "description": "DefaultServiceTypeHealthPolicy",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "MaxPercentUnhealthyDeployedApplications": {
                    "description": "MaxPercentUnhealthyDeployedApplications",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "UpgradeTimeoutSec": {
                    "description": "UpgradeTimeoutSec",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ServiceTypeHealthPolicyMap": {
                    "description": "ServiceTypeHealthPolicyMap",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "configureDockerSettings": {
                    "description": "Configure Docker settings",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "registryCredentials": {
                    "description": "Registry Credentials Source",
                    "ignoreCase": "all",
                    "enum": [
                      "AzureResourceManagerEndpoint",
                      "ContainerRegistryEndpoint",
                      "UsernamePassword"
                    ]
                  },
                  "dockerRegistryConnection": {
                    "description": "Docker Registry Service Connection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "dockerRegistryEndpoint"
                    ]
                  },
                  "azureSubscription": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "azureSubscriptionEndpoint"
                    ]
                  },
                  "registryUserName": {
                    "description": "Registry User Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "registryPassword": {
                    "description": "Registry Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "passwordEncrypted": {
                    "description": "Password Encrypted",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "applicationPackagePath",
                  "serviceConnectionName",
                  "overwriteBehavior",
                  "upgradeMode",
                  "FailureAction",
                  "registryCredentials",
                  "dockerRegistryConnection",
                  "azureSubscription"
                ],
                "additionalProperties": false,
                "description": "Service Fabric Application Deployment inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^UseRubyVersion@0$",
                "description": "Use Ruby Version\n\nRetrieves the specified version of Ruby from the tool cache. Optionally add it to PATH.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "versionSpec": {
                    "description": "Version spec",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "addToPath": {
                    "description": "Add to PATH",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "versionSpec"
                ],
                "additionalProperties": false,
                "description": "Use Ruby Version inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^CmdLine@2$",
                "description": "Command Line\n\nRun a command line script using cmd.exe on Windows and bash on macOS and Linux.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "script": {
                    "description": "Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingDirectory": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "failOnStderr": {
                    "description": "Fail on Standard Error",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "script"
                ],
                "additionalProperties": false,
                "description": "Command Line inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^CmdLine@1$",
                "description": "Command Line\n\nRun a command line with arguments",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "filename": {
                    "description": "Tool",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingFolder": {
                    "description": "Working folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "failOnStandardError": {
                    "description": "Fail on Standard Error",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "filename"
                ],
                "additionalProperties": false,
                "description": "Command Line inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Delay@1$",
                "description": "Delay\n\nDelay further execution of the workflow by a fixed time.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "delayForMinutes": {
                    "description": "Delay Time (minutes)",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "delayForMinutes"
                ],
                "additionalProperties": false,
                "description": "Delay inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureResourceGroupDeployment@1$",
                "description": "Azure Resource Group Deployment\n\nDeploy, start, stop, delete Azure Resource Groups",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "ConnectedServiceNameSelector": {
                    "description": "Azure Connection Type",
                    "ignoreCase": "all",
                    "enum": [
                      "ConnectedServiceName",
                      "ConnectedServiceNameClassic"
                    ]
                  },
                  "ConnectedServiceName": {
                    "description": "Azure Subscription",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ConnectedServiceNameClassic": {
                    "description": "Azure Classic Subscription",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "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": {
                    "description": "Resource Group",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "cloudService": {
                    "description": "Cloud Service",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "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": {
                    "description": "Template",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "csmParametersFile": {
                    "description": "Template Parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "overrideParameters": {
                    "description": "Override Template Parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "deploymentMode": {
                    "description": "Deployment Mode",
                    "ignoreCase": "all",
                    "enum": [
                      "Validation",
                      "Incremental",
                      "Complete"
                    ]
                  },
                  "enableDeploymentPrerequisitesForCreate": {
                    "description": "Enable Deployment Prerequisites",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "enableDeploymentPrerequisitesForSelect": {
                    "description": "Enable Deployment Prerequisites",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "outputVariable": {
                    "description": "Resource Group",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "ConnectedServiceName",
                  "ConnectedServiceNameClassic",
                  "action",
                  "actionClassic",
                  "resourceGroupName",
                  "cloudService",
                  "location",
                  "csmFile",
                  "deploymentMode"
                ],
                "additionalProperties": false,
                "description": "Azure Resource Group Deployment inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureResourceGroupDeployment@2$",
                "description": "Azure Resource Group Deployment\n\nDeploy an Azure resource manager (ARM) template to a resource group. You can also start, stop, delete, deallocate all Virtual Machines (VM) in a resource group",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "azureSubscription": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceName"
                    ]
                  },
                  "action": {
                    "description": "Action",
                    "ignoreCase": "all",
                    "enum": [
                      "Create Or Update Resource Group",
                      "Select Resource Group",
                      "Start",
                      "Stop",
                      "StopWithDeallocate",
                      "Restart",
                      "Delete",
                      "DeleteRG"
                    ]
                  },
                  "resourceGroupName": {
                    "description": "Resource group",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "location": {
                    "description": "Location",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "templateLocation": {
                    "description": "Template location",
                    "ignoreCase": "all",
                    "enum": [
                      "Linked artifact",
                      "URL of the file"
                    ]
                  },
                  "csmFileLink": {
                    "description": "Template link",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "csmParametersFileLink": {
                    "description": "Template parameters link",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "csmFile": {
                    "description": "Template",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "csmParametersFile": {
                    "description": "Template parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "overrideParameters": {
                    "description": "Override template parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "deploymentMode": {
                    "description": "Deployment mode",
                    "ignoreCase": "all",
                    "enum": [
                      "Incremental",
                      "Complete",
                      "Validation"
                    ]
                  },
                  "enableDeploymentPrerequisites": {
                    "description": "Enable prerequisites",
                    "ignoreCase": "all",
                    "enum": [
                      "None",
                      "ConfigureVMwithWinRM",
                      "ConfigureVMWithDGAgent"
                    ]
                  },
                  "teamServicesConnection": {
                    "description": "Azure Pipelines/TFS service connection",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "deploymentGroupEndpoint"
                    ]
                  },
                  "teamProject": {
                    "description": "Team project",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "project"
                    ]
                  },
                  "deploymentGroupName": {
                    "description": "Deployment Group",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "copyAzureVMTags": {
                    "description": "Copy Azure VM tags to agents",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "runAgentServiceAsUser": {
                    "description": "Run agent service as a user",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "userName": {
                    "description": "User name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "password": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "outputVariable": {
                    "description": "VM details for WinRM",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "deploymentOutputs": {
                    "description": "Deployment outputs",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "azureSubscription",
                  "action",
                  "resourceGroupName",
                  "location",
                  "templateLocation",
                  "csmFileLink",
                  "csmFile",
                  "deploymentMode",
                  "teamServicesConnection",
                  "teamProject",
                  "deploymentGroupName",
                  "userName"
                ],
                "additionalProperties": false,
                "description": "Azure Resource Group Deployment inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzurePowerShell@2$",
                "description": "Azure PowerShell\n\nRun a PowerShell script within an Azure environment",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "azureConnectionType": {
                    "description": "Azure Connection Type",
                    "ignoreCase": "all",
                    "enum": [
                      "ConnectedServiceName",
                      "ConnectedServiceNameARM"
                    ],
                    "aliases": [
                      "ConnectedServiceNameSelector"
                    ]
                  },
                  "azureClassicSubscription": {
                    "description": "Azure Classic Subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceName"
                    ]
                  },
                  "azureSubscription": {
                    "description": "Azure Subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceNameARM"
                    ]
                  },
                  "ScriptType": {
                    "description": "Script Type",
                    "ignoreCase": "all",
                    "enum": [
                      "FilePath",
                      "InlineScript"
                    ]
                  },
                  "ScriptPath": {
                    "description": "Script Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Inline": {
                    "description": "Inline Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ScriptArguments": {
                    "description": "Script Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "azurePowerShellVersion": {
                    "description": "Azure PowerShell Version",
                    "ignoreCase": "all",
                    "enum": [
                      "LatestVersion",
                      "OtherVersion"
                    ],
                    "aliases": [
                      "TargetAzurePs"
                    ]
                  },
                  "preferredAzurePowerShellVersion": {
                    "description": "Preferred Azure PowerShell Version",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "CustomTargetAzurePs"
                    ]
                  }
                },
                "required": [
                  "azureClassicSubscription",
                  "azureSubscription",
                  "ScriptType",
                  "preferredAzurePowerShellVersion"
                ],
                "additionalProperties": false,
                "description": "Azure PowerShell inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzurePowerShell@3$",
                "description": "Azure PowerShell\n\nRun a PowerShell script within an Azure environment",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "azureConnectionType": {
                    "description": "Azure Connection Type",
                    "ignoreCase": "all",
                    "enum": [
                      "ConnectedServiceName",
                      "ConnectedServiceNameARM"
                    ],
                    "aliases": [
                      "ConnectedServiceNameSelector"
                    ]
                  },
                  "azureClassicSubscription": {
                    "description": "Azure Classic Subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceName"
                    ]
                  },
                  "azureSubscription": {
                    "description": "Azure Subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceNameARM"
                    ]
                  },
                  "ScriptType": {
                    "description": "Script Type",
                    "ignoreCase": "all",
                    "enum": [
                      "FilePath",
                      "InlineScript"
                    ]
                  },
                  "ScriptPath": {
                    "description": "Script Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Inline": {
                    "description": "Inline Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ScriptArguments": {
                    "description": "Script Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "errorActionPreference": {
                    "description": "ErrorActionPreference",
                    "ignoreCase": "all",
                    "enum": [
                      "stop",
                      "continue",
                      "silentlyContinue"
                    ]
                  },
                  "FailOnStandardError": {
                    "description": "Fail on Standard Error",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "azurePowerShellVersion": {
                    "description": "Azure PowerShell Version",
                    "ignoreCase": "all",
                    "enum": [
                      "LatestVersion",
                      "OtherVersion"
                    ],
                    "aliases": [
                      "TargetAzurePs"
                    ]
                  },
                  "preferredAzurePowerShellVersion": {
                    "description": "Preferred Azure PowerShell Version",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "CustomTargetAzurePs"
                    ]
                  }
                },
                "required": [
                  "azureClassicSubscription",
                  "azureSubscription",
                  "preferredAzurePowerShellVersion"
                ],
                "additionalProperties": false,
                "description": "Azure PowerShell inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzurePowerShell@1$",
                "description": "Azure PowerShell\n\nRun a PowerShell script within an Azure environment",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "ConnectedServiceNameSelector": {
                    "description": "Azure Connection Type",
                    "ignoreCase": "all",
                    "enum": [
                      "ConnectedServiceName",
                      "ConnectedServiceNameARM"
                    ]
                  },
                  "ConnectedServiceName": {
                    "description": "Azure Classic Subscription",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ConnectedServiceNameARM": {
                    "description": "Azure Subscription",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ScriptType": {
                    "description": "Script Type",
                    "ignoreCase": "all",
                    "enum": [
                      "FilePath",
                      "InlineScript"
                    ]
                  },
                  "ScriptPath": {
                    "description": "Script Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Inline": {
                    "description": "Inline Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ScriptArguments": {
                    "description": "Script Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "ConnectedServiceName",
                  "ConnectedServiceNameARM",
                  "ScriptType"
                ],
                "additionalProperties": false,
                "description": "Azure PowerShell inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^ExtractFiles@1$",
                "description": "Extract Files\n\nExtract a variety of archive and compression files such as .7z, .rar, .tar.gz, and .zip.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "archiveFilePatterns": {
                    "description": "Archive file patterns",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "destinationFolder": {
                    "description": "Destination folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "cleanDestinationFolder": {
                    "description": "Clean destination folder before extracting",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "archiveFilePatterns",
                  "destinationFolder",
                  "cleanDestinationFolder"
                ],
                "additionalProperties": false,
                "description": "Extract Files inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureFunction@1$",
                "description": "Invoke Azure Function\n\nInvoke an Azure Function as a part of your pipeline.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "function": {
                    "description": "Azure function URL",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "key": {
                    "description": "Function key",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "method": {
                    "description": "Method",
                    "ignoreCase": "all",
                    "enum": [
                      "OPTIONS",
                      "GET",
                      "HEAD",
                      "POST",
                      "PUT",
                      "DELETE",
                      "TRACE",
                      "PATCH"
                    ]
                  },
                  "headers": {
                    "description": "Headers",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "queryParameters": {
                    "description": "Query parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "body": {
                    "description": "Body",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "waitForCompletion": {
                    "description": "Completion event",
                    "ignoreCase": "all",
                    "enum": [
                      "true",
                      "false"
                    ]
                  },
                  "successCriteria": {
                    "description": "Success criteria",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "function",
                  "key",
                  "method",
                  "waitForCompletion"
                ],
                "additionalProperties": false,
                "description": "Invoke Azure Function inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureFunction@0$",
                "description": "Invoke Azure Function\n\nInvoke Azure function as a part of your process.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "function": {
                    "description": "Azure function url",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "key": {
                    "description": "Function key",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "method": {
                    "description": "Method",
                    "ignoreCase": "all",
                    "enum": [
                      "OPTIONS",
                      "GET",
                      "HEAD",
                      "POST",
                      "PUT",
                      "DELETE",
                      "TRACE",
                      "PATCH"
                    ]
                  },
                  "headers": {
                    "description": "Headers",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "queryParameters": {
                    "description": "Query parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "body": {
                    "description": "Body",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "waitForCompletion": {
                    "description": "Complete based on",
                    "ignoreCase": "all",
                    "enum": [
                      "true",
                      "false"
                    ]
                  },
                  "successCriteria": {
                    "description": "Success criteria",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "function",
                  "key",
                  "method",
                  "waitForCompletion"
                ],
                "additionalProperties": false,
                "description": "Invoke Azure Function inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^queryWorkItems@0$",
                "description": "Query Work Items\n\nExecutes a work item query and checks for the number of items returned.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "queryId": {
                    "description": "Query",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "maxThreshold": {
                    "description": "Upper threshold",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "minThreshold": {
                    "description": "Lower threshold",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "queryId",
                  "maxThreshold",
                  "minThreshold"
                ],
                "additionalProperties": false,
                "description": "Query Work Items inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureMonitor@0$",
                "description": "Query Azure Monitor Alerts\n\nObserve the configured Azure monitor rules for active alerts.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "connectedServiceNameARM": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ResourceGroupName": {
                    "description": "Resource group",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ResourceType": {
                    "description": "Resource type",
                    "ignoreCase": "all",
                    "enum": [
                      "Microsoft.Insights/components",
                      "Microsoft.Web/sites",
                      "Microsoft.Storage/storageAccounts",
                      "Microsoft.Compute/virtualMachines"
                    ]
                  },
                  "resourceName": {
                    "description": "Resource name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "alertRules": {
                    "description": "Alert rules",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "connectedServiceNameARM",
                  "ResourceGroupName",
                  "ResourceType",
                  "resourceName",
                  "alertRules"
                ],
                "additionalProperties": false,
                "description": "Query Azure Monitor Alerts inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^DownloadFileshareArtifacts@1$",
                "description": "Download Fileshare Artifacts\n\nDownload artifacts from a file share e.g \\\\share\\drop",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "filesharePath": {
                    "description": "Fileshare path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "artifactName": {
                    "description": "Artifact name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "itemPattern": {
                    "description": "Matching pattern",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "downloadPath": {
                    "description": "Download path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "parallelizationLimit": {
                    "description": "Parallelization limit",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "filesharePath",
                  "artifactName",
                  "downloadPath"
                ],
                "additionalProperties": false,
                "description": "Download Fileshare Artifacts inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureMonitorAlerts@0$",
                "description": "Azure Monitor Alerts\n\nConfigure alerts on available metrics for an Azure resource",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "azureSubscription": {
                    "description": "Azure Subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceName"
                    ]
                  },
                  "ResourceGroupName": {
                    "description": "Resource Group",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ResourceType": {
                    "description": "Resource Type",
                    "ignoreCase": "all",
                    "enum": [
                      "Microsoft.Insights/components",
                      "Microsoft.Web/sites",
                      "Microsoft.Storage/storageAccounts",
                      "Microsoft.Compute/virtualMachines"
                    ]
                  },
                  "ResourceName": {
                    "description": "Resource name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AlertRules": {
                    "description": "Alert rules",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "NotifyServiceOwners": {
                    "description": "Subscription owners, contributors and readers",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "NotifyEmails": {
                    "description": "Additional administrator emails",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "azureSubscription",
                  "ResourceGroupName",
                  "ResourceType",
                  "ResourceName",
                  "AlertRules"
                ],
                "additionalProperties": false,
                "description": "Azure Monitor Alerts inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^InstallSSHKey@0$",
                "description": "Install SSH Key\n\nInstall an SSH key prior to a build or release",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "hostName": {
                    "description": "Known Hosts Entry",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "sshPublicKey": {
                    "description": "SSH Public Key",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "sshPassphrase": {
                    "description": "SSH Passphrase",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "sshKeySecureFile": {
                    "description": "SSH Key",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "hostName",
                  "sshPublicKey",
                  "sshKeySecureFile"
                ],
                "additionalProperties": false,
                "description": "Install SSH Key inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^PackerBuild@0$",
                "description": "Build Machine Image\n\nBuild machine image using Packer. This image can be used for Azure Virtual machine scale set deployment",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "templateType": {
                    "description": "Packer template",
                    "ignoreCase": "all",
                    "enum": [
                      "builtin",
                      "custom"
                    ]
                  },
                  "customTemplateLocation": {
                    "description": "Packer template location",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "customTemplateParameters": {
                    "description": "Template parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ConnectedServiceName": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "location": {
                    "description": "Storage location",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "storageAccountName": {
                    "description": "Storage account",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "azureResourceGroup": {
                    "description": "Resource group",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "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": {
                    "description": "Base image URL",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "customImageOSType": {
                    "description": "Base image OS",
                    "ignoreCase": "all",
                    "enum": [
                      "windows",
                      "linux"
                    ]
                  },
                  "packagePath": {
                    "description": "Deployment Package",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "deployScriptPath": {
                    "description": "Deployment script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "deployScriptArguments": {
                    "description": "Deployment script arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "additionalBuilderParameters": {
                    "description": "Additional Builder parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "skipTempFileCleanupDuringVMDeprovision": {
                    "description": "Skip temporary file cleanup during deprovision",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "imageUri": {
                    "description": "Image URL",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "templateType",
                  "customTemplateLocation",
                  "ConnectedServiceName",
                  "location",
                  "storageAccountName",
                  "azureResourceGroup",
                  "baseImageSource",
                  "baseImage",
                  "customImageUrl",
                  "customImageOSType",
                  "packagePath",
                  "deployScriptPath"
                ],
                "additionalProperties": false,
                "description": "Build Machine Image inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^IISWebAppDeployment@1$",
                "description": "[Deprecated] IIS Web App Deployment\n\nDeploy by MSDeploy, create/update website & app pools",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "EnvironmentName": {
                    "description": "Machines",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AdminUserName": {
                    "description": "Admin Login",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AdminPassword": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "WinRMProtocol": {
                    "description": "Protocol",
                    "ignoreCase": "all",
                    "enum": [
                      "Http",
                      "Https"
                    ]
                  },
                  "TestCertificate": {
                    "description": "Test Certificate",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "WebDeployPackage": {
                    "description": "Web Deploy Package",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "WebDeployParamFile": {
                    "description": "Web Deploy Parameter File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "OverRideParams": {
                    "description": "Override Parameters",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "CreateWebSite": {
                    "description": "Create or Update Website",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "WebSiteName": {
                    "description": "Website Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "WebSitePhysicalPath": {
                    "description": "Physical Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "WebSitePhysicalPathAuth": {
                    "description": "Physical Path Authentication",
                    "ignoreCase": "all",
                    "enum": [
                      "WebSiteUserPassThrough",
                      "WebSiteWindowsAuth"
                    ]
                  },
                  "WebSiteAuthUserName": {
                    "description": "User Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "WebSiteAuthUserPassword": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AddBinding": {
                    "description": "Add Binding",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "AssignDuplicateBinding": {
                    "description": "Assign Duplicate Binding",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "Protocol": {
                    "description": "Protocol",
                    "ignoreCase": "all",
                    "enum": [
                      "https",
                      "http"
                    ]
                  },
                  "IPAddress": {
                    "description": "IP Address",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "Port": {
                    "description": "Port",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ServerNameIndication": {
                    "description": "Server Name Indication Required",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "HostNameWithOutSNI": {
                    "description": "Host Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "HostNameWithHttp": {
                    "description": "Host Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "HostNameWithSNI": {
                    "description": "Host Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SSLCertThumbPrint": {
                    "description": "SSL Certificate Thumb Print",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "CreateAppPool": {
                    "description": "Create or Update Application Pool",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "AppPoolName": {
                    "description": "Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "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": {
                    "description": "Username",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AppPoolPassword": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AppCmdCommands": {
                    "description": "Additional AppCmd.exe Commands",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "DeployInParallel": {
                    "description": "Deploy in Parallel",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "ResourceFilteringMethod": {
                    "description": "Select Machines By",
                    "ignoreCase": "all",
                    "enum": [
                      "machineNames",
                      "tags"
                    ]
                  },
                  "MachineFilter": {
                    "description": "Deploy to Machines",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "EnvironmentName",
                  "WebDeployPackage",
                  "WebSiteName",
                  "WebSitePhysicalPath",
                  "WebSitePhysicalPathAuth",
                  "WebSiteAuthUserName",
                  "Protocol",
                  "IPAddress",
                  "Port",
                  "HostNameWithSNI",
                  "SSLCertThumbPrint",
                  "AppPoolName",
                  "DotNetVersion",
                  "PipeLineMode",
                  "AppPoolIdentity",
                  "AppPoolUsername"
                ],
                "additionalProperties": false,
                "description": "[Deprecated] IIS Web App Deployment inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^cURLUploader@1$",
                "description": "cURL Upload Files\n\nUse cURL to upload files with FTP, FTPS, SFTP, HTTP, and more.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "files": {
                    "description": "Files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "username": {
                    "description": "Username",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "password": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "url": {
                    "description": "URL",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "options": {
                    "description": "Optional Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "redirectStderr": {
                    "description": "Redirect Standard Error to Standard Out",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "files",
                  "url"
                ],
                "additionalProperties": false,
                "description": "cURL Upload Files inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^cURLUploader@2$",
                "description": "cURL Upload Files\n\nUse cURL to upload files.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "files": {
                    "description": "Files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "authType": {
                    "description": "Authentication Method",
                    "ignoreCase": "all",
                    "enum": [
                      "ServiceEndpoint",
                      "UserAndPass"
                    ]
                  },
                  "serviceEndpoint": {
                    "description": "Service Connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "username": {
                    "description": "Username",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "password": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "url": {
                    "description": "URL",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "remotePath": {
                    "description": "Remote Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "options": {
                    "description": "Optional Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "redirectStderr": {
                    "description": "Redirect Standard Error to Standard Out",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "files",
                  "serviceEndpoint",
                  "url"
                ],
                "additionalProperties": false,
                "description": "cURL Upload Files inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^InstallAppleProvisioningProfile@1$",
                "description": "Install Apple Provisioning Profile\n\nInstall an Apple provisioning profile required to build on a macOS agent",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "provisioningProfileLocation": {
                    "description": "Provisioning profile location",
                    "ignoreCase": "all",
                    "enum": [
                      "secureFiles",
                      "sourceRepository"
                    ]
                  },
                  "provProfileSecureFile": {
                    "description": "Provisioning profile",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "provProfileSourceRepository": {
                    "description": "Provisioning profile",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "removeProfile": {
                    "description": "Remove profile after build",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "provisioningProfileLocation",
                  "provProfileSecureFile",
                  "provProfileSourceRepository"
                ],
                "additionalProperties": false,
                "description": "Install Apple Provisioning Profile inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^InstallAppleProvisioningProfile@0$",
                "description": "Install Apple Provisioning Profile\n\nInstall an Apple provisioning profile required to build on a macOS agent",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "provProfileSecureFile": {
                    "description": "Provisioning Profile",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "removeProfile": {
                    "description": "Remove Profile After Build",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "provProfileSecureFile"
                ],
                "additionalProperties": false,
                "description": "Install Apple Provisioning Profile inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task"
            ],
            "properties": {
              "task": {
                "pattern": "^npmAuthenticate@0$",
                "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"
              },
              "inputs": {
                "properties": {
                  "workingFile": {
                    "description": ".npmrc file to authenticate",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "customEndpoint": {
                    "description": "Credentials for registries outside this account/collection",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [],
                "additionalProperties": false,
                "description": "npm Authenticate (for task runners) inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Maven@1$",
                "description": "Maven\n\nBuild with Apache Maven",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "mavenPomFile": {
                    "description": "Maven POM file",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "mavenPOMFile"
                    ]
                  },
                  "goals": {
                    "description": "Goal(s)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "options": {
                    "description": "Options",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "publishJUnitResults": {
                    "description": "Publish to TFS/Team Services",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "testResultsFiles": {
                    "description": "Test Results Files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testRunTitle": {
                    "description": "Test Run Title",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "codeCoverageToolOption": {
                    "description": "Code Coverage Tool",
                    "ignoreCase": "all",
                    "enum": [
                      "None",
                      "Cobertura",
                      "JaCoCo"
                    ],
                    "aliases": [
                      "codeCoverageTool"
                    ]
                  },
                  "codeCoverageClassFilter": {
                    "description": "Class Inclusion/Exclusion Filters",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "classFilter"
                    ]
                  },
                  "codeCoverageClassFilesDirectories": {
                    "description": "Class Files Directories",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "classFilesDirectories"
                    ]
                  },
                  "codeCoverageSourceDirectories": {
                    "description": "Source Files Directories",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "srcDirectories"
                    ]
                  },
                  "codeCoverageFailIfEmpty": {
                    "description": "Fail When Code Coverage Results Are Missing",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "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": {
                    "description": "JDK Path",
                    "ignoreCase": "key",
                    "type": "string",
                    "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": {
                    "description": "Maven Path",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "mavenPath"
                    ]
                  },
                  "mavenSetM2Home": {
                    "description": "Set M2_HOME variable",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "mavenOptions": {
                    "description": "Set MAVEN_OPTS to",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "mavenOpts"
                    ]
                  },
                  "mavenAuthenticateFeed": {
                    "description": "Authenticate built-in Maven feeds",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "mavenFeedAuthenticate"
                    ]
                  },
                  "sonarQubeRunAnalysis": {
                    "description": "Run SonarQube Analysis",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "sqAnalysisEnabled"
                    ]
                  },
                  "sonarQubeServiceEndpoint": {
                    "description": "SonarQube Endpoint",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "sqConnectedServiceName"
                    ]
                  },
                  "sonarQubeProjectName": {
                    "description": "SonarQube Project Name",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "sqProjectName"
                    ]
                  },
                  "sonarQubeProjectKey": {
                    "description": "SonarQube Project Key",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "sqProjectKey"
                    ]
                  },
                  "sonarQubeProjectVersion": {
                    "description": "SonarQube Project Version",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "sqProjectVersion"
                    ]
                  },
                  "sonarQubeSpecifyDB": {
                    "description": "The SonarQube server version is lower than 5.2",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "sqDbDetailsRequired"
                    ]
                  },
                  "sonarQubeDBUrl": {
                    "description": "Db Connection String",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "sqDbUrl"
                    ]
                  },
                  "sonarQubeDBUsername": {
                    "description": "Db Username",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "sqDbUsername"
                    ]
                  },
                  "sonarQubeDBPassword": {
                    "description": "Db User Password",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "sqDbPassword"
                    ]
                  },
                  "sonarQubeIncludeFullReport": {
                    "description": "Include full analysis report in the build summary (SQ 5.3+)",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "sqAnalysisIncludeFullReport"
                    ]
                  },
                  "sonarQubeFailWhenQualityGateFails": {
                    "description": "Fail the build on quality gate failure (SQ 5.3+)",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "sqAnalysisBreakBuildIfQualityGateFailed"
                    ]
                  },
                  "checkStyleRunAnalysis": {
                    "description": "Run Checkstyle",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "checkstyleAnalysisEnabled"
                    ]
                  },
                  "pmdRunAnalysis": {
                    "description": "Run PMD",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "pmdAnalysisEnabled"
                    ]
                  },
                  "findBugsRunAnalysis": {
                    "description": "Run FindBugs",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "findbugsAnalysisEnabled"
                    ]
                  }
                },
                "required": [
                  "mavenPomFile",
                  "publishJUnitResults",
                  "testResultsFiles",
                  "javaHomeOption",
                  "jdkDirectory",
                  "mavenVersionOption",
                  "mavenDirectory",
                  "mavenSetM2Home",
                  "mavenAuthenticateFeed",
                  "sonarQubeRunAnalysis",
                  "sonarQubeServiceEndpoint",
                  "sonarQubeSpecifyDB"
                ],
                "additionalProperties": false,
                "description": "Maven inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Maven@2$",
                "description": "Maven\n\nBuild with Apache Maven",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "mavenPomFile": {
                    "description": "Maven POM file",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "mavenPOMFile"
                    ]
                  },
                  "goals": {
                    "description": "Goal(s)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "options": {
                    "description": "Options",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "publishJUnitResults": {
                    "description": "Publish to Azure Pipelines/TFS",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "testResultsFiles": {
                    "description": "Test results files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testRunTitle": {
                    "description": "Test run title",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "codeCoverageToolOption": {
                    "description": "Code coverage tool",
                    "ignoreCase": "all",
                    "enum": [
                      "None",
                      "Cobertura",
                      "JaCoCo"
                    ],
                    "aliases": [
                      "codeCoverageTool"
                    ]
                  },
                  "codeCoverageClassFilter": {
                    "description": "Class inclusion/exclusion filters",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "classFilter"
                    ]
                  },
                  "codeCoverageClassFilesDirectories": {
                    "description": "Class files directories",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "classFilesDirectories"
                    ]
                  },
                  "codeCoverageSourceDirectories": {
                    "description": "Source files directories",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "srcDirectories"
                    ]
                  },
                  "codeCoverageFailIfEmpty": {
                    "description": "Fail when code coverage results are missing",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "failIfCoverageEmpty"
                    ]
                  },
                  "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"
                    ]
                  },
                  "jdkDirectory": {
                    "description": "JDK path",
                    "ignoreCase": "key",
                    "type": "string",
                    "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": {
                    "description": "Maven path",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "mavenPath"
                    ]
                  },
                  "mavenSetM2Home": {
                    "description": "Set M2_HOME variable",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "mavenOptions": {
                    "description": "Set MAVEN_OPTS to",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "mavenOpts"
                    ]
                  },
                  "mavenAuthenticateFeed": {
                    "description": "Authenticate built-in Maven feeds",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "mavenFeedAuthenticate"
                    ]
                  },
                  "sonarQubeRunAnalysis": {
                    "description": "Run SonarQube or SonarCloud analysis",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "sqAnalysisEnabled"
                    ]
                  },
                  "sqMavenPluginVersionChoice": {
                    "description": "SonarQube scanner for Maven version",
                    "ignoreCase": "all",
                    "enum": [
                      "latest",
                      "pom"
                    ]
                  },
                  "checkStyleRunAnalysis": {
                    "description": "Run Checkstyle",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "checkstyleAnalysisEnabled"
                    ]
                  },
                  "pmdRunAnalysis": {
                    "description": "Run PMD",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "pmdAnalysisEnabled"
                    ]
                  },
                  "findBugsRunAnalysis": {
                    "description": "Run FindBugs",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "findbugsAnalysisEnabled"
                    ]
                  }
                },
                "required": [
                  "mavenPomFile",
                  "publishJUnitResults",
                  "testResultsFiles",
                  "javaHomeOption",
                  "jdkDirectory",
                  "mavenVersionOption",
                  "mavenDirectory",
                  "mavenSetM2Home",
                  "mavenAuthenticateFeed",
                  "sonarQubeRunAnalysis",
                  "sqMavenPluginVersionChoice"
                ],
                "additionalProperties": false,
                "description": "Maven inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Maven@3$",
                "description": "Maven\n\nBuild with Apache Maven",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "mavenPomFile": {
                    "description": "Maven POM file",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "mavenPOMFile"
                    ]
                  },
                  "goals": {
                    "description": "Goal(s)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "options": {
                    "description": "Options",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "publishJUnitResults": {
                    "description": "Publish to Azure Pipelines/TFS",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "testResultsFiles": {
                    "description": "Test results files",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "testRunTitle": {
                    "description": "Test run title",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "codeCoverageToolOption": {
                    "description": "Code coverage tool",
                    "ignoreCase": "all",
                    "enum": [
                      "None",
                      "Cobertura",
                      "JaCoCo"
                    ],
                    "aliases": [
                      "codeCoverageTool"
                    ]
                  },
                  "codeCoverageClassFilter": {
                    "description": "Class inclusion/exclusion filters",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "classFilter"
                    ]
                  },
                  "codeCoverageClassFilesDirectories": {
                    "description": "Class files directories",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "classFilesDirectories"
                    ]
                  },
                  "codeCoverageSourceDirectories": {
                    "description": "Source files directories",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "srcDirectories"
                    ]
                  },
                  "codeCoverageFailIfEmpty": {
                    "description": "Fail when code coverage results are missing",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "failIfCoverageEmpty"
                    ]
                  },
                  "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"
                    ]
                  },
                  "jdkDirectory": {
                    "description": "JDK path",
                    "ignoreCase": "key",
                    "type": "string",
                    "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": {
                    "description": "Maven path",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "mavenPath"
                    ]
                  },
                  "mavenSetM2Home": {
                    "description": "Set M2_HOME variable",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "mavenOptions": {
                    "description": "Set MAVEN_OPTS to",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "mavenOpts"
                    ]
                  },
                  "mavenAuthenticateFeed": {
                    "description": "Authenticate built-in Maven feeds",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "mavenFeedAuthenticate"
                    ]
                  },
                  "sonarQubeRunAnalysis": {
                    "description": "Run SonarQube or SonarCloud analysis",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "sqAnalysisEnabled"
                    ]
                  },
                  "sqMavenPluginVersionChoice": {
                    "description": "SonarQube scanner for Maven version",
                    "ignoreCase": "all",
                    "enum": [
                      "latest",
                      "pom"
                    ]
                  },
                  "checkStyleRunAnalysis": {
                    "description": "Run Checkstyle",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "checkstyleAnalysisEnabled"
                    ]
                  },
                  "pmdRunAnalysis": {
                    "description": "Run PMD",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "pmdAnalysisEnabled"
                    ]
                  },
                  "findBugsRunAnalysis": {
                    "description": "Run FindBugs",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "findbugsAnalysisEnabled"
                    ]
                  }
                },
                "required": [
                  "mavenPomFile",
                  "publishJUnitResults",
                  "testResultsFiles",
                  "javaHomeOption",
                  "jdkDirectory",
                  "mavenVersionOption",
                  "mavenDirectory",
                  "mavenSetM2Home",
                  "mavenAuthenticateFeed",
                  "sonarQubeRunAnalysis",
                  "sqMavenPluginVersionChoice"
                ],
                "additionalProperties": false,
                "description": "Maven inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureMysqlDeployment@1$",
                "description": "Azure Database for MySQL Deployment\n\nRun your scripts and make changes to your Azure Database for MySQL.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "azureSubscription": {
                    "description": "Azure Subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceName"
                    ]
                  },
                  "ServerName": {
                    "description": "Host Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "DatabaseName": {
                    "description": "Database Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SqlUsername": {
                    "description": "Server Admin Login",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SqlPassword": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "TaskNameSelector": {
                    "description": "Type",
                    "ignoreCase": "all",
                    "enum": [
                      "SqlTaskFile",
                      "InlineSqlTask"
                    ]
                  },
                  "SqlFile": {
                    "description": "MySQL Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SqlInline": {
                    "description": "Inline MySQL Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SqlAdditionalArguments": {
                    "description": "Additional MySQL Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "IpDetectionMethod": {
                    "description": "Specify Firewall Rules Using",
                    "ignoreCase": "all",
                    "enum": [
                      "AutoDetect",
                      "IPAddressRange"
                    ]
                  },
                  "StartIpAddress": {
                    "description": "Start IP Address",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "EndIpAddress": {
                    "description": "End IP Address",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "DeleteFirewallRule": {
                    "description": "Delete Rule After Task Ends",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "azureSubscription",
                  "ServerName",
                  "SqlUsername",
                  "SqlPassword",
                  "SqlFile",
                  "SqlInline",
                  "IpDetectionMethod",
                  "StartIpAddress",
                  "EndIpAddress"
                ],
                "additionalProperties": false,
                "description": "Azure Database for MySQL Deployment inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureAppServiceManage@0$",
                "description": "Azure App Service Manage\n\nStart, Stop, Restart, Slot swap, Install site extensions or Enable Continuous Monitoring for an Azure App Service",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "azureSubscription": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceName"
                    ]
                  },
                  "Action": {
                    "description": "Action",
                    "ignoreCase": "all",
                    "enum": [
                      "Swap Slots",
                      "Start Azure App Service",
                      "Stop Azure App Service",
                      "Restart Azure App Service",
                      "Install Extensions",
                      "Enable Continuous Monitoring",
                      "Start all continuous webjobs",
                      "Stop all continuous webjobs"
                    ]
                  },
                  "WebAppName": {
                    "description": "App Service name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SpecifySlotOrASE": {
                    "description": "Specify Slot or App Service Environment",
                    "ignoreCase": "key",
                    "type": "boolean",
                    "aliases": [
                      "SpecifySlot"
                    ]
                  },
                  "ResourceGroupName": {
                    "description": "Resource group",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SourceSlot": {
                    "description": "Source Slot",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SwapWithProduction": {
                    "description": "Swap with Production",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "TargetSlot": {
                    "description": "Target Slot",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "PreserveVnet": {
                    "description": "Preserve Vnet",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "Slot": {
                    "description": "Slot",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ExtensionsList": {
                    "description": "Install Extensions",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "OutputVariable": {
                    "description": "Output variable",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AppInsightsResourceGroupName": {
                    "description": "Resource Group name for Application Insights",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ApplicationInsightsResourceName": {
                    "description": "Application Insights resource name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "ApplicationInsightsWebTestName": {
                    "description": "Application Insights web test name",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "azureSubscription",
                  "WebAppName",
                  "ResourceGroupName",
                  "SourceSlot",
                  "TargetSlot",
                  "Slot",
                  "ExtensionsList",
                  "AppInsightsResourceGroupName",
                  "ApplicationInsightsResourceName"
                ],
                "additionalProperties": false,
                "description": "Azure App Service Manage inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^SqlAzureDacpacDeployment@1$",
                "description": "Azure SQL Database Deployment\n\nDeploy Azure SQL DB using DACPAC or run scripts using SQLCMD",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "azureConnectionType": {
                    "description": "Azure Service Connection Type",
                    "ignoreCase": "all",
                    "enum": [
                      "ConnectedServiceName",
                      "ConnectedServiceNameARM"
                    ],
                    "aliases": [
                      "ConnectedServiceNameSelector"
                    ]
                  },
                  "azureClassicSubscription": {
                    "description": "Azure Classic Subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceName"
                    ]
                  },
                  "azureSubscription": {
                    "description": "Azure Subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceNameARM"
                    ]
                  },
                  "ServerName": {
                    "description": "Azure SQL Server Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "DatabaseName": {
                    "description": "Database Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SqlUsername": {
                    "description": "Server Admin Login",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SqlPassword": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "DeploymentAction": {
                    "description": "Action",
                    "ignoreCase": "all",
                    "enum": [
                      "Publish",
                      "Extract",
                      "Export",
                      "Import",
                      "Script",
                      "DriftReport",
                      "DeployReport"
                    ]
                  },
                  "TaskNameSelector": {
                    "description": "Type",
                    "ignoreCase": "all",
                    "enum": [
                      "DacpacTask",
                      "SqlTask",
                      "InlineSqlTask"
                    ]
                  },
                  "DacpacFile": {
                    "description": "DACPAC File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "BacpacFile": {
                    "description": "BACPAC File",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SqlFile": {
                    "description": "SQL Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SqlInline": {
                    "description": "Inline SQL Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "PublishProfile": {
                    "description": "Publish Profile",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AdditionalArguments": {
                    "description": "Additional SqlPackage.exe Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SqlAdditionalArguments": {
                    "description": "Additional Invoke-Sqlcmd Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "InlineAdditionalArguments": {
                    "description": "Additional Invoke-Sqlcmd Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "IpDetectionMethod": {
                    "description": "Specify Firewall Rules Using",
                    "ignoreCase": "all",
                    "enum": [
                      "AutoDetect",
                      "IPAddressRange"
                    ]
                  },
                  "StartIpAddress": {
                    "description": "Start IP Address",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "EndIpAddress": {
                    "description": "End IP Address",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "DeleteFirewallRule": {
                    "description": "Delete Rule After Task Ends",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "azureClassicSubscription",
                  "azureSubscription",
                  "ServerName",
                  "DatabaseName",
                  "SqlUsername",
                  "SqlPassword",
                  "DeploymentAction",
                  "DacpacFile",
                  "BacpacFile",
                  "SqlFile",
                  "SqlInline",
                  "IpDetectionMethod",
                  "StartIpAddress",
                  "EndIpAddress"
                ],
                "additionalProperties": false,
                "description": "Azure SQL Database Deployment inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AndroidBuild@1$",
                "description": "Android Build\n\n[Deprecated]  Use Gradle",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "gradleWrapper": {
                    "description": "Location of Gradle Wrapper",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "gradleProj": {
                    "description": "Project Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "gradleArguments": {
                    "description": "Gradle Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "avdName": {
                    "description": "Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "createAvd": {
                    "description": "Create AVD",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "emulatorTarget": {
                    "description": "AVD Target SDK",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "emulatorDevice": {
                    "description": "AVD Device",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "avdAbi": {
                    "description": "AVD ABI",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "avdForce": {
                    "description": "Overwrite Existing AVD",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "avdOptionalArgs": {
                    "description": "Create AVD Optional Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "startEmulator": {
                    "description": "Start and Stop Android Emulator",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "emulatorTimeout": {
                    "description": "Timeout in Seconds",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "emulatorHeadless": {
                    "description": "Headless Display",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "emulatorOptionalArgs": {
                    "description": "Emulator Optional Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "deleteAvd": {
                    "description": "Delete AVD",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "avdName",
                  "emulatorTarget",
                  "avdAbi",
                  "emulatorTimeout"
                ],
                "additionalProperties": false,
                "description": "Android Build inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^VSBuild@1$",
                "description": "Visual Studio Build\n\nBuild with MSBuild and set the Visual Studio version property.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "solution": {
                    "description": "Solution",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "vsVersion": {
                    "description": "Visual Studio Version",
                    "ignoreCase": "all",
                    "enum": [
                      "latest",
                      "15.0",
                      "14.0",
                      "12.0",
                      "11.0"
                    ]
                  },
                  "msbuildArgs": {
                    "description": "MSBuild Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "platform": {
                    "description": "Platform",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "configuration": {
                    "description": "Configuration",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "clean": {
                    "description": "Clean",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "maximumCpuCount": {
                    "description": "Build in Parallel",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "restoreNugetPackages": {
                    "description": "Restore NuGet Packages",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "msbuildArchitecture": {
                    "description": "MSBuild Architecture",
                    "ignoreCase": "all",
                    "enum": [
                      "x86",
                      "x64"
                    ]
                  },
                  "logProjectEvents": {
                    "description": "Record Project Details",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "createLogFile": {
                    "description": "Create Log File",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "solution"
                ],
                "additionalProperties": false,
                "description": "Visual Studio Build inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task"
            ],
            "properties": {
              "task": {
                "pattern": "^CMake@1$",
                "description": "CMake\n\nBuild with the CMake cross-platform build system",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "workingDirectory": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "cwd"
                    ]
                  },
                  "cmakeArgs": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [],
                "additionalProperties": false,
                "description": "CMake inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^ShellScript@2$",
                "description": "Shell Script\n\nRun a shell script using bash",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "scriptPath": {
                    "description": "Script Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "args": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "disableAutoCwd": {
                    "description": "Specify Working Directory",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "cwd": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "failOnStandardError": {
                    "description": "Fail on Standard Error",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "scriptPath"
                ],
                "additionalProperties": false,
                "description": "Shell Script inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^Bash@3$",
                "description": "Bash\n\nRun a Bash script on macOS, Linux, or Windows",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "targetType": {
                    "description": "Type",
                    "ignoreCase": "all",
                    "enum": [
                      "filePath",
                      "inline"
                    ]
                  },
                  "filePath": {
                    "description": "Script Path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "arguments": {
                    "description": "Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "script": {
                    "description": "Script",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "workingDirectory": {
                    "description": "Working Directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "failOnStderr": {
                    "description": "Fail on Standard Error",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "filePath",
                  "script"
                ],
                "additionalProperties": false,
                "description": "Bash inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^PublishSymbols@2$",
                "description": "Index Sources & Publish Symbols\n\nIndex your source code and publish symbols to a file share or Azure Artifacts Symbol Server",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "SymbolsFolder": {
                    "description": "Path to symbols folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SearchPattern": {
                    "description": "Search pattern",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "IndexSources": {
                    "description": "Index sources",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "PublishSymbols": {
                    "description": "Publish symbols",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "SymbolServerType": {
                    "description": "Symbol server type",
                    "ignoreCase": "all",
                    "enum": [
                      " ",
                      "TeamServices",
                      "FileShare"
                    ]
                  },
                  "SymbolsPath": {
                    "description": "Path to publish symbols",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "CompressSymbols": {
                    "description": "Compress symbols",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "DetailedLog": {
                    "description": "Verbose logging",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "TreatNotIndexedAsWarning": {
                    "description": "Warn if not indexed",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "SymbolsMaximumWaitTime": {
                    "description": "Max wait time (min)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SymbolsProduct": {
                    "description": "Product",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SymbolsVersion": {
                    "description": "Version",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SymbolsArtifactName": {
                    "description": "Artifact name",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "SearchPattern",
                  "SymbolServerType",
                  "CompressSymbols"
                ],
                "additionalProperties": false,
                "description": "Index Sources & Publish Symbols inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^PublishSymbols@1$",
                "description": "Index Sources & Publish Symbols\n\nIndex your source code and publish symbols to a file share",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "SymbolsPath": {
                    "description": "Path to publish symbols",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SearchPattern": {
                    "description": "Search pattern",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SymbolsFolder": {
                    "description": "Path to symbols folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SkipIndexing": {
                    "description": "Skip indexing",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "TreatNotIndexedAsWarning": {
                    "description": "Warn if not indexed",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "SymbolsMaximumWaitTime": {
                    "description": "Max wait time (min)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SymbolsProduct": {
                    "description": "Product",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SymbolsVersion": {
                    "description": "Version",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "SymbolsArtifactName": {
                    "description": "Artifact name",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "SearchPattern"
                ],
                "additionalProperties": false,
                "description": "Index Sources & Publish Symbols inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^JavaToolInstaller@0$",
                "description": "Java Tool Installer\n\nAcquires a specific version of Java from a user supplied Azure blob or the tools cache and sets JAVA_HOME. Use this task to change the version of Java used in Java tasks.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "versionSpec": {
                    "description": "JDK version",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "jdkArchitectureOption": {
                    "description": "JDK architecture",
                    "ignoreCase": "all",
                    "enum": [
                      "x64",
                      "x86"
                    ]
                  },
                  "jdkSourceOption": {
                    "description": "JDK source",
                    "ignoreCase": "all",
                    "enum": [
                      "AzureStorage",
                      "LocalDirectory"
                    ]
                  },
                  "jdkFile": {
                    "description": "JDK file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "azureResourceManagerEndpoint": {
                    "description": "Azure subscription",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "azureStorageAccountName": {
                    "description": "Storage account name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "azureContainerName": {
                    "description": "Container name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "azureCommonVirtualFile": {
                    "description": "Common virtual path",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "jdkDestinationDirectory": {
                    "description": "Destination directory",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "cleanDestinationDirectory": {
                    "description": "Clean destination directory",
                    "ignoreCase": "key",
                    "type": "boolean"
                  }
                },
                "required": [
                  "versionSpec",
                  "jdkArchitectureOption",
                  "jdkSourceOption",
                  "jdkFile",
                  "azureResourceManagerEndpoint",
                  "azureStorageAccountName",
                  "azureContainerName",
                  "azureCommonVirtualFile",
                  "jdkDestinationDirectory",
                  "cleanDestinationDirectory"
                ],
                "additionalProperties": false,
                "description": "Java Tool Installer inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^NuGetPackager@0$",
                "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 account/collection, and uses NuGet 4 by default.",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "searchPattern": {
                    "description": "Path to csproj or nuspec file(s) to pack",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "outputdir": {
                    "description": "Package Folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "includeReferencedProjects": {
                    "description": "Include referenced projects",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "versionByBuild": {
                    "description": "Automatic package versioning",
                    "ignoreCase": "all",
                    "enum": [
                      "false",
                      "byPrereleaseNumber",
                      "byEnvVar",
                      "true"
                    ]
                  },
                  "versionEnvVar": {
                    "description": "Environment variable",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "requestedMajorVersion": {
                    "description": "Major",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "requestedMinorVersion": {
                    "description": "Minor",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "requestedPatchVersion": {
                    "description": "Patch",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "configurationToPack": {
                    "description": "Configuration to Package",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "buildProperties": {
                    "description": "Additional build properties",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "nuGetAdditionalArgs": {
                    "description": "NuGet Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "nuGetPath": {
                    "description": "Path to NuGet.exe",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "searchPattern",
                  "versionByBuild",
                  "versionEnvVar",
                  "requestedMajorVersion",
                  "requestedMinorVersion",
                  "requestedPatchVersion"
                ],
                "additionalProperties": false,
                "description": "NuGet Packager inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^ApacheJMeterLoadTest@1$",
                "description": "Cloud-based Apache JMeter Load Test\n\nRuns the Apache JMeter load test in cloud",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "connectedServiceName": {
                    "description": "Azure Pipelines Connection",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "TestDrop": {
                    "description": "Apache JMeter test files folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "LoadTest": {
                    "description": "Apache JMeter file",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "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"
                    ]
                  }
                },
                "required": [
                  "TestDrop",
                  "LoadTest",
                  "agentCount",
                  "runDuration"
                ],
                "additionalProperties": false,
                "description": "Cloud-based Apache JMeter Load Test inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureFileCopy@1$",
                "description": "Azure File Copy\n\nCopy files to Azure blob or VM(s)",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "SourcePath": {
                    "description": "Source",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "azureConnectionType": {
                    "description": "Azure Connection Type",
                    "ignoreCase": "all",
                    "enum": [
                      "ConnectedServiceName",
                      "ConnectedServiceNameARM"
                    ],
                    "aliases": [
                      "ConnectedServiceNameSelector"
                    ]
                  },
                  "azureClassicSubscription": {
                    "description": "Azure Classic Subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceName"
                    ]
                  },
                  "azureSubscription": {
                    "description": "Azure Subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceNameARM"
                    ]
                  },
                  "Destination": {
                    "description": "Destination Type",
                    "ignoreCase": "all",
                    "enum": [
                      "AzureBlob",
                      "AzureVMs"
                    ]
                  },
                  "classicStorage": {
                    "description": "Classic Storage Account",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "StorageAccount"
                    ]
                  },
                  "storage": {
                    "description": "RM Storage Account",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "StorageAccountRM"
                    ]
                  },
                  "ContainerName": {
                    "description": "Container Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "BlobPrefix": {
                    "description": "Blob Prefix",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "cloudService": {
                    "description": "Cloud Service",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "EnvironmentName"
                    ]
                  },
                  "resourceGroup": {
                    "description": "Resource Group",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "EnvironmentNameRM"
                    ]
                  },
                  "ResourceFilteringMethod": {
                    "description": "Select Machines By",
                    "ignoreCase": "all",
                    "enum": [
                      "machineNames",
                      "tags"
                    ]
                  },
                  "MachineNames": {
                    "description": "Filter Criteria",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "vmsAdminUserName": {
                    "description": "Admin Login",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "vmsAdminPassword": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "TargetPath": {
                    "description": "Destination Folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AdditionalArguments": {
                    "description": "Additional Arguments",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "enableCopyPrerequisites": {
                    "description": "Enable Copy Prerequisites",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "CopyFilesInParallel": {
                    "description": "Copy in Parallel",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "CleanTargetBeforeCopy": {
                    "description": "Clean Target",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "skipCACheck": {
                    "description": "Test Certificate",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "outputStorageUri": {
                    "description": "Storage Container URI",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "outputStorageContainerSasToken": {
                    "description": "Storage Container SAS Token",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "SourcePath",
                  "azureClassicSubscription",
                  "azureSubscription",
                  "Destination",
                  "classicStorage",
                  "storage",
                  "ContainerName",
                  "cloudService",
                  "resourceGroup",
                  "vmsAdminUserName",
                  "vmsAdminPassword",
                  "TargetPath"
                ],
                "additionalProperties": false,
                "description": "Azure File Copy inputs"
              }
            }
          },
          {
            "firstProperty": [
              "task"
            ],
            "required": [
              "task",
              "inputs"
            ],
            "properties": {
              "task": {
                "pattern": "^AzureFileCopy@2$",
                "description": "Azure File Copy\n\nCopy files to Azure blob or VM(s)",
                "ignoreCase": "value"
              },
              "inputs": {
                "properties": {
                  "SourcePath": {
                    "description": "Source",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "azureConnectionType": {
                    "description": "Azure Connection Type",
                    "ignoreCase": "all",
                    "enum": [
                      "ConnectedServiceName",
                      "ConnectedServiceNameARM"
                    ],
                    "aliases": [
                      "ConnectedServiceNameSelector"
                    ]
                  },
                  "azureClassicSubscription": {
                    "description": "Azure Classic Subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceName"
                    ]
                  },
                  "azureSubscription": {
                    "description": "Azure Subscription",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "ConnectedServiceNameARM"
                    ]
                  },
                  "Destination": {
                    "description": "Destination Type",
                    "ignoreCase": "all",
                    "enum": [
                      "AzureBlob",
                      "AzureVMs"
                    ]
                  },
                  "classicStorage": {
                    "description": "Classic Storage Account",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "StorageAccount"
                    ]
                  },
                  "storage": {
                    "description": "RM Storage Account",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "StorageAccountRM"
                    ]
                  },
                  "ContainerName": {
                    "description": "Container Name",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "BlobPrefix": {
                    "description": "Blob Prefix",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "cloudService": {
                    "description": "Cloud Service",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "EnvironmentName"
                    ]
                  },
                  "resourceGroup": {
                    "description": "Resource Group",
                    "ignoreCase": "key",
                    "type": "string",
                    "aliases": [
                      "EnvironmentNameRM"
                    ]
                  },
                  "ResourceFilteringMethod": {
                    "description": "Select Machines By",
                    "ignoreCase": "all",
                    "enum": [
                      "machineNames",
                      "tags"
                    ]
                  },
                  "MachineNames": {
                    "description": "Filter Criteria",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "vmsAdminUserName": {
                    "description": "Admin Login",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "vmsAdminPassword": {
                    "description": "Password",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "TargetPath": {
                    "description": "Destination Folder",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AdditionalArgumentsForBlobCopy": {
                    "description": "Optional Arguments (for uploading files to blob)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "AdditionalArgumentsForVMCopy": {
                    "description": "Optional Arguments (for downloading files to VM)",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "enableCopyPrerequisites": {
                    "description": "Enable Copy Prerequisites",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "CopyFilesInParallel": {
                    "description": "Copy in Parallel",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "CleanTargetBeforeCopy": {
                    "description": "Clean Target",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "skipCACheck": {
                    "description": "Test Certificate",
                    "ignoreCase": "key",
                    "type": "boolean"
                  },
                  "outputStorageUri": {
                    "description": "Storage Container URI",
                    "ignoreCase": "key",
                    "type": "string"
                  },
                  "outputStorageContainerSasToken": {
                    "description": "Storage Container SAS Token",
                    "ignoreCase": "key",
                    "type": "string"
                  }
                },
                "required": [
                  "SourcePath",
                  "azureClassicSubscription",
                  "azureSubscription",
                  "Destination",
                  "classicStorage",
                  "storage",
                  "ContainerName",
                  "cloudService",
                  "resourceGroup",
                  "vmsAdminUserName",
                  "vmsAdminPassword",
                  "TargetPath"
                ],
                "additionalProperties": false,
                "description": "Azure File Copy inputs"
              }
            }
          }
        ],
        "properties": {
          "task": {
            "oneOf": [
              {
                "enum": [
                  "AndroidBuild@1"
                ],
                "description": "[Deprecated]  Use Gradle",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AndroidSigning@3"
                ],
                "description": "Sign and align Android APK files",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AndroidSigning@2"
                ],
                "description": "Sign and align Android APK files",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AndroidSigning@1"
                ],
                "description": "Sign and align Android APK files",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Ant@1"
                ],
                "description": "Build with Apache Ant",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "ApacheJMeterLoadTest@1"
                ],
                "description": "Runs the Apache JMeter load test in cloud",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AppCenterDistribute@1"
                ],
                "description": "Distribute app builds to testers and users via App Center",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AppCenterDistribute@0"
                ],
                "description": "Distribute app builds to testers and users via App Center",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AppCenterTest@1"
                ],
                "description": "Test app packages with Visual Studio App Center.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "ArchiveFiles@2"
                ],
                "description": "Archive files using compression formats such as .7z, .rar, .tar.gz, and .zip.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "ArchiveFiles@1"
                ],
                "description": "Archive files using compression formats such as .7z, .rar, .tar.gz, and .zip.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureAppServiceManage@0"
                ],
                "description": "Start, Stop, Restart, Slot swap, Install site extensions or Enable Continuous Monitoring for an Azure App Service",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureCLI@1"
                ],
                "description": "Run a Shell or Batch script with Azure CLI commands against an azure subscription",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureCLI@0"
                ],
                "description": "Run a Shell or Batch script with Azure CLI commands against an azure subscription",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureCloudPowerShellDeployment@1"
                ],
                "description": "Deploy an Azure Cloud Service",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureFileCopy@2"
                ],
                "description": "Copy files to Azure blob or VM(s)",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureFileCopy@1"
                ],
                "description": "Copy files to Azure blob or VM(s)",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureFunction@1"
                ],
                "description": "Invoke an Azure Function as a part of your pipeline.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureFunction@0"
                ],
                "description": "Invoke Azure function as a part of your process.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureKeyVault@1"
                ],
                "description": "Download Azure Key Vault Secrets",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureMonitor@0"
                ],
                "description": "Observe the configured Azure monitor rules for active alerts.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureMonitorAlerts@0"
                ],
                "description": "Configure alerts on available metrics for an Azure resource",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureMysqlDeployment@1"
                ],
                "description": "Run your scripts and make changes to your Azure Database for MySQL.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureNLBManagement@1"
                ],
                "description": "Connect/Disconnect an Azure virtual machine's network interface to a Load Balancer's backend address pool",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzurePowerShell@3"
                ],
                "description": "Run a PowerShell script within an Azure environment",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzurePowerShell@2"
                ],
                "description": "Run a PowerShell script within an Azure environment",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzurePowerShell@1"
                ],
                "description": "Run a PowerShell script within an Azure environment",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureResourceGroupDeployment@2"
                ],
                "description": "Deploy an Azure resource manager (ARM) template to a resource group. You can also start, stop, delete, deallocate all Virtual Machines (VM) in a resource group",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureResourceGroupDeployment@1"
                ],
                "description": "Deploy, start, stop, delete Azure Resource Groups",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureRmWebAppDeployment@4"
                ],
                "description": "Update Azure App Services on Windows, Web App on Linux with built-in images or Docker containers, ASP.NET, .NET Core, PHP, Python or Node.js based Web applications, Function Apps on Windows or Linux with Docker Containers, Mobile Apps, API applications, Web Jobs using Web Deploy / Kudu REST APIs",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureRmWebAppDeployment@3"
                ],
                "description": "Update Azure App Services on Windows, Web App on Linux with built-in images or Docker containers, ASP.NET, .NET Core, PHP, Python or Node.js based Web applications, Function Apps, Mobile Apps, API applications, Web Jobs using Web Deploy / Kudu REST APIs",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureRmWebAppDeployment@2"
                ],
                "description": "Update Azure App Service using Web Deploy / Kudu REST APIs",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureVmssDeployment@0"
                ],
                "description": "Deploy Virtual Machine scale set image",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "AzureWebPowerShellDeployment@1"
                ],
                "description": "Create or update Azure App Service using Azure PowerShell",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Bash@3"
                ],
                "description": "Run a Bash script on macOS, Linux, or Windows",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "BatchScript@1"
                ],
                "description": "Run a windows cmd or bat script and optionally allow it to change the environment",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "CMake@1"
                ],
                "description": "Build with the CMake cross-platform build system",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Chef@1"
                ],
                "description": "Deploy to Chef environments by editing environment attributes",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "ChefKnife@1"
                ],
                "description": "Run Scripts with knife commands on your chef workstation",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "CloudLoadTest@1"
                ],
                "description": "Runs the load test in the cloud with Azure Pipelines",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "CmdLine@2"
                ],
                "description": "Run a command line script using cmd.exe on Windows and bash on macOS and Linux.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "CmdLine@1"
                ],
                "description": "Run a command line with arguments",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "CocoaPods@0"
                ],
                "description": "CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. This task runs 'pod install'.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "CondaEnvironment@1"
                ],
                "description": "Create and activate a Conda environment.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "CondaEnvironment@0"
                ],
                "description": "Create and activate a Conda environment.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "CopyFiles@2"
                ],
                "description": "Copy files from source folder to target folder using match patterns (The match patterns will only match file paths, not folder paths)",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "CopyFiles@1"
                ],
                "description": "Copy files from source folder to target folder using minimatch patterns (The minimatch patterns will only match file paths, not folder paths)",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "CopyFilesOverSSH@0"
                ],
                "description": "Copy files or build artifacts to a remote machine over SSH",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "CopyPublishBuildArtifacts@1"
                ],
                "description": "[DEPRECATED] Use the Copy Files task and the Publish Build Artifacts task instead",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "DecryptFile@1"
                ],
                "description": "A thin utility task for file decryption using OpenSSL.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Delay@1"
                ],
                "description": "Delay further execution of the workflow by a fixed time.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "DeleteFiles@1"
                ],
                "description": "Delete files or folders. (The minimatch patterns will only match file paths, not folder paths)",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "DeployVisualStudioTestAgent@2"
                ],
                "description": "Deprecated: This task and it’s companion task (Run Functional Tests) 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"
              },
              {
                "enum": [
                  "DeployVisualStudioTestAgent@1"
                ],
                "description": "Deploy and configure Test Agent to run tests on a set of machines",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Docker@1"
                ],
                "description": "Build, tag, push, or run Docker images, or run a Docker command. Task can be used with Docker or Azure Container registry.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Docker@0"
                ],
                "description": "Build, tag, push, or run Docker images, or run a Docker command. Task can be used with Docker or Azure Container registry.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "DockerCompose@0"
                ],
                "description": "Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "DotNetCoreCLI@2"
                ],
                "description": "Build, test, package, or publish a dotnet application, or run a custom dotnet command. For package commands, supports NuGet.org and authenticated feeds like Package Management and MyGet.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "DotNetCoreCLI@1"
                ],
                "description": "Build, test and publish using dotnet core command-line.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "DotNetCoreCLI@0"
                ],
                "description": "Build, test and publish using dotnet core command-line.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "DotNetCoreInstaller@0"
                ],
                "description": "Acquires a specific version of .NET Core from internet or the tools cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "DownloadBuildArtifacts@0"
                ],
                "description": "Download Build Artifacts",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "DownloadFileshareArtifacts@1"
                ],
                "description": "Download artifacts from a file share e.g \\\\share\\drop",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "DownloadPackage@0"
                ],
                "description": "Download a package from a Package Management feed in Azure Artifacts or TFS. \r\n Requires the Package Management extension.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "DownloadPipelineArtifact@0"
                ],
                "description": "Download Pipeline Artifact",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "DownloadSecureFile@1"
                ],
                "description": "Download a secure file to a temporary location on the build or release agent",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "ExtractFiles@1"
                ],
                "description": "Extract a variety of archive and compression files such as .7z, .rar, .tar.gz, and .zip.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "FtpUpload@1"
                ],
                "description": "FTP Upload",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Go@0"
                ],
                "description": "Get, build, or test a Go application, or run a custom Go command.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "GoTool@0"
                ],
                "description": "Finds or downloads a specific version of Go in the tools cache and adds it to the PATH. Use this to set the version of Go used in subsequent tasks.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Gradle@2"
                ],
                "description": "Build using a Gradle wrapper script",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Gradle@1"
                ],
                "description": "Build using a Gradle wrapper script",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Grunt@0"
                ],
                "description": "The JavaScript Task Runner",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Gulp@0"
                ],
                "description": "Node.js streaming task based build system",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "HelmDeploy@0"
                ],
                "description": "Deploy, configure, update your Kubernetes cluster in Azure Container Service by running helm commands.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "HelmInstaller@0"
                ],
                "description": "Install Helm and Kubernetes on agent machine.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "IISWebAppDeployment@1"
                ],
                "description": "Deploy by MSDeploy, create/update website & app pools",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "InstallAppleCertificate@2"
                ],
                "description": "Install an Apple certificate required to build on a macOS agent",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "InstallAppleCertificate@1"
                ],
                "description": "Install an Apple certificate required to build on a macOS agent",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "InstallAppleCertificate@0"
                ],
                "description": "Install an Apple certificate required to build on a macOS agent",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "InstallAppleProvisioningProfile@1"
                ],
                "description": "Install an Apple provisioning profile required to build on a macOS agent",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "InstallAppleProvisioningProfile@0"
                ],
                "description": "Install an Apple provisioning profile required to build on a macOS agent",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "InstallSSHKey@0"
                ],
                "description": "Install an SSH key prior to a build or release",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "InvokeRESTAPI@1"
                ],
                "description": "Invoke a REST API as a part of your pipeline.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "InvokeRESTAPI@0"
                ],
                "description": "Invoke REST API as a part of your process.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "JavaToolInstaller@0"
                ],
                "description": "Acquires a specific version of Java from a user supplied Azure blob or the tools cache and sets JAVA_HOME. Use this task to change the version of Java used in Java tasks.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "JenkinsDownloadArtifacts@1"
                ],
                "description": "Download artifacts produced by a Jenkins job",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "JenkinsQueueJob@2"
                ],
                "description": "Queue a job on a Jenkins server",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "JenkinsQueueJob@1"
                ],
                "description": "Queue a job on a Jenkins server",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Kubernetes@1"
                ],
                "description": "Deploy, configure, update your Kubernetes cluster in Azure Container Service by running kubectl commands.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Kubernetes@0"
                ],
                "description": "Deploy, configure, update your Kubernetes cluster in Azure Container Service by running kubectl commands.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "MSBuild@1"
                ],
                "description": "Build with MSBuild",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Maven@3"
                ],
                "description": "Build with Apache Maven",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Maven@2"
                ],
                "description": "Build with Apache Maven",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Maven@1"
                ],
                "description": "Build with Apache Maven",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "NodeTool@0"
                ],
                "description": "Finds or Downloads and caches specified version spec of Node and adds it to the PATH.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Npm@1"
                ],
                "description": "Install and publish npm packages, or run an npm command. Supports npmjs.com and authenticated registries like Package Management.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Npm@0"
                ],
                "description": "Run an npm command",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "NuGet@0"
                ],
                "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 account/collection, and uses NuGet 4 by default.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "NuGetCommand@2"
                ],
                "description": "Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Package Management 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"
              },
              {
                "enum": [
                  "NuGetInstaller@0"
                ],
                "description": "Installs or restores missing NuGet packages",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "NuGetPackager@0"
                ],
                "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 account/collection, and uses NuGet 4 by default.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "NuGetPublisher@0"
                ],
                "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 account/collection, and uses NuGet 4 by default.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "NuGetRestore@1"
                ],
                "description": "Restores NuGet packages in preparation for a Visual Studio Build step.",
                "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.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PackerBuild@0"
                ],
                "description": "Build machine image using Packer. This image can be used for Azure Virtual machine scale set deployment",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PipAuthenticate@0"
                ],
                "description": "Authentication task for pip client used for installing python distributions.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PowerShell@2"
                ],
                "description": "Run a PowerShell script on Windows, macOS, or Linux.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PowerShell@1"
                ],
                "description": "Run a PowerShell script",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PowerShellOnTargetMachines@3"
                ],
                "description": "Execute PowerShell scripts on remote machine(s). This version of the task uses PSSession and Invoke-Command for remoting.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PowerShellOnTargetMachines@2"
                ],
                "description": "Execute PowerShell scripts on remote machine(s)",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PowerShellOnTargetMachines@1"
                ],
                "description": "Execute PowerShell scripts on remote machine(s)",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PublishBuildArtifacts@1"
                ],
                "description": "Publish build artifacts to Azure Pipelines/TFS or a file share",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PublishCodeCoverageResults@1"
                ],
                "description": "Publish Cobertura or JaCoCo code coverage results from a build",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PublishPipelineArtifact@0"
                ],
                "description": "Publish Pipeline Artifact",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PublishSymbols@2"
                ],
                "description": "Index your source code and publish symbols to a file share or Azure Artifacts Symbol Server",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PublishSymbols@1"
                ],
                "description": "Index your source code and publish symbols to a file share",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PublishTestResults@2"
                ],
                "description": "Publish Test Results to Azure Pipelines/TFS",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PublishTestResults@1"
                ],
                "description": "Publish Test Results to VSTS/TFS",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PublishToAzureServiceBus@1"
                ],
                "description": "Sends a message to azure service bus using a service connection (no agent required).",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PublishToAzureServiceBus@0"
                ],
                "description": "Sends a message to azure service bus using a service connection (no agent required).",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PyPIPublisher@0"
                ],
                "description": "Create and upload an sdist or wheel to a PyPI-compatible index using Twine.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "PythonScript@0"
                ],
                "description": "Run a Python script.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "QuickPerfTest@1"
                ],
                "description": "Runs a quick web performance test in the cloud with Azure Pipelines",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "RunVisualStudioTestsusingTestAgent@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.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "SSH@0"
                ],
                "description": "Run shell commands or a script on a remote machine using SSH",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "ServiceFabricComposeDeploy@0"
                ],
                "description": "Deploy a docker-compose application to a Service Fabric cluster.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "ServiceFabricDeploy@1"
                ],
                "description": "Deploy a Service Fabric application to a cluster.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "ServiceFabricPowerShell@1"
                ],
                "description": "Run a PowerShell script within the context of an Azure Service Fabric cluster connection.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "ServiceFabricUpdateAppVersions@1"
                ],
                "description": "Automatically updates the versions of a packaged Service Fabric application.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "ServiceFabricUpdateManifests@2"
                ],
                "description": "Automatically updates portions of the application and service manifests within a packaged Service Fabric application.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "ShellScript@2"
                ],
                "description": "Run a shell script using bash",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "SonarQubePostTest@1"
                ],
                "description": "[DEPRECATED] Finish the analysis and upload the results to SonarQube",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "SonarQubePreBuild@1"
                ],
                "description": "[DEPRECATED] Fetch the Quality Profile from SonarQube to configure the analysis",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "SqlAzureDacpacDeployment@1"
                ],
                "description": "Deploy Azure SQL DB using DACPAC or run scripts using SQLCMD",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "SqlServerDacpacDeployment@1"
                ],
                "description": "Deploy SQL Server Database using DACPAC",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "TwineAuthenticate@0"
                ],
                "description": "Authentication for uploading python distributions using twine. Please add \"-r FeedName/EndpointName --config-file $(PYPIRC_PATH)\" to your twine upload command. For feeds present in this organization use feed name as repository(-r) otherwise use the endpoint name defined in the service connection.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "UniversalPackages@0"
                ],
                "description": "Download or publish Universal Packages.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "UsePythonVersion@0"
                ],
                "description": "Retrieves the specified version of Python from the tool cache. Optionally add it to PATH.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "UseRubyVersion@0"
                ],
                "description": "Retrieves the specified version of Ruby from the tool cache. Optionally add it to PATH.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "VSBuild@1"
                ],
                "description": "Build with MSBuild and set the Visual Studio version property.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "VSMobileCenterTest@0"
                ],
                "description": "Test mobile app packages with Visual Studio Mobile Center.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "VSTest@2"
                ],
                "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).",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "VSTest@1"
                ],
                "description": "Run tests with Visual Studio test runner",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "VisualStudioTestPlatformInstaller@1"
                ],
                "description": "Acquires the test platform from nuget.org or the tools cache. Satisfies the ‘vstest’ demand and can be used for running tests and collecting diagnostic data using the Visual Studio Test task.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "WindowsMachineFileCopy@2"
                ],
                "description": "Copy files to remote machine(s)",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "WindowsMachineFileCopy@1"
                ],
                "description": "Copy files to remote machine(s)",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "XamarinAndroid@1"
                ],
                "description": "Build an Android app with Xamarin",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "XamarinComponentRestore@0"
                ],
                "description": "This task is deprecated. Use 'NuGet' instead.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "XamarinLicense@1"
                ],
                "description": "[Deprecated] Upgrade to free version of Xamarin: https://store.xamarin.com",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "XamarinTestCloud@1"
                ],
                "description": "[Depreciated] Testing mobile apps with Xamarin Test Cloud using Xamarin.UITest - recommended task is now AppCenterTest",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "XamariniOS@2"
                ],
                "description": "Build an iOS app with Xamarin on macOS.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "XamariniOS@1"
                ],
                "description": "Build an iOS app with Xamarin on macOS",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Xcode@5"
                ],
                "description": "Build, test, or archive an Xcode workspace on macOS. Optionally package an app.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Xcode@4"
                ],
                "description": "Build, test, or archive an Xcode workspace on macOS. Optionally package an app.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Xcode@3"
                ],
                "description": "Build an Xcode workspace on macOS",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "Xcode@2"
                ],
                "description": "Build an Xcode workspace on Mac OS",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "XcodePackageiOS@0"
                ],
                "description": "Generate an .ipa file from Xcode build output using xcrun (Xcode 7 or below)",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "cURLUploader@2"
                ],
                "description": "Use cURL to upload files.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "cURLUploader@1"
                ],
                "description": "Use cURL to upload files with FTP, FTPS, SFTP, HTTP, and more.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "npmAuthenticate@0"
                ],
                "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.",
                "ignoreCase": "value"
              },
              {
                "enum": [
                  "queryWorkItems@0"
                ],
                "description": "Executes a work item query and checks for the number of items returned.",
                "ignoreCase": "value"
              }
            ]
          },
          "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": {
            "$ref": "#/definitions/conditionTemplateMacroRuntimeExpression",
            "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": {
            "$ref": "#/definitions/booleanTemplateMacroRuntimeExpression",
            "description": "Run this task when the job runs?"
          },
          "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"
          }
        },
        "firstProperty": [
          "task"
        ],
        "additionalProperties": false
      },
      "vmImage": {
        "anyOf": [
          {
            "enum": [
              "ubuntu-16.04",
              "ubuntu-latest",
              "vs2015-win2012r2",
              "vs2017-win2016",
              "windows-2019",
              "windows-latest",
              "win1803",
              "macos-10.13",
              "macos-10.14",
              "macos-latest"
            ],
            "ignoreCase": "value"
          },
          {
            "type": "string"
          }
        ]
      }
    }
  }