cue.dev/x/azurepipelines@v0.4.0

schema.cue raw

    1package azurepipelines
    2
    3import "struct"
    4
    5// Pipeline schema
    6//
    7// A pipeline definition
    8#Pipeline: {
    9	@jsonschema(schema="http://json-schema.org/draft-07/schema#")
   10	@jsonschema(id="https://github.com/Microsoft/azure-pipelines-vscode/blob/main/service-schema.json")
   11	matchN(1, [#pipeline, =~"^$"])
   12
   13	#any: matchN(>=1, [string, [...#any], {...}])
   14
   15	#any_allowExpressions: matchN(>=1, [string, [...#any], {...}])
   16
   17	#boolean: matchN(>=1, [=~"^true$", =~"^y$", =~"^yes$", =~"^on$", =~"^false$", =~"^n$", =~"^no$", =~"^off$"])
   18
   19	// branch name or prefix filter
   20	#branchFilter: =~"^[^\\/~\\^\\: \\[\\]\\\\]+(\\/[^\\/~\\^\\: \\[\\]\\\\]+)*$"
   21
   22	#branchFilterArray: [...#branchFilter]
   23
   24	#buildResource: close({
   25		"build"!:      #referenceName
   26		"type"!:       #nonEmptyString
   27		"connection"!: #nonEmptyString
   28		"source"!:     #nonEmptyString
   29		"version"?:    #string_allowExpressions
   30		"branch"?:     #string_allowExpressions
   31		"trigger"?:    #buildResourceTrigger
   32	})
   33
   34	#buildResourceTrigger: matchN(>=1, [=~"^none$", =~"^true$"])
   35
   36	#buildResources: [...#buildResource]
   37
   38	#canaryDeploymentIncrements: [...#nonEmptyString]
   39
   40	#canaryDeploymentStrategy: close({
   41		"increments"?:       #canaryDeploymentIncrements
   42		"preDeploy"?:        #preDeployHook
   43		"deploy"?:           #deployHook
   44		"routeTraffic"?:     #routeTrafficHook
   45		"postRouteTraffic"?: #postRouteTrafficHook
   46		"on"?:               #onSuccessOrFailureHook
   47	})
   48
   49	#check: close({"type"?: #checkType})
   50
   51	// Production readiness check
   52	#checkType: =~"^productionReadinessPolicy$"
   53
   54	#checks: [...#check]
   55
   56	#containerArtifactType: matchN(>=1, [=~"^ACR$", string])
   57
   58	#containerBase: close({
   59		"endpoint"?:        #string_allowExpressions
   60		"env"?:             #mappingOfStringString
   61		"image"!:           #string
   62		"mapDockerSocket"?: #boolean
   63		"options"?:         #string_allowExpressions
   64		"ports"?:           #sequenceOfString_allowExpressions
   65		"volumes"?:         #sequenceOfString_allowExpressions
   66		"mountReadOnly"?:   #readOnlyMounts
   67	})
   68
   69	#containerResource: {
   70		"container"!:         #referenceName
   71		"type"?:              #containerArtifactType
   72		"trigger"?:           #containerResourceTrigger
   73		"azureSubscription"?: #nonEmptyString
   74		"resourceGroup"?:     #nonEmptyString
   75		"registry"?:          #nonEmptyString
   76		"repository"?:        #nonEmptyString
   77		"localImage"?:        #boolean
   78		"endpoint"?:          #string_allowExpressions
   79		"env"?:               #mappingOfStringString
   80		"image"!:             #string
   81		"mapDockerSocket"?:   #boolean
   82		"options"?:           #string_allowExpressions
   83		"ports"?:             #sequenceOfString_allowExpressions
   84		"volumes"?:           #sequenceOfString_allowExpressions
   85		"mountReadOnly"?:     #readOnlyMounts
   86		...
   87	}
   88
   89	#containerResourceTrigger: matchN(>=1, [
   90		=~"^none$",
   91		=~"^true$",
   92		close({
   93			"enabled"?: #boolean
   94			"tags"?:    #includeExcludeStringFilters
   95		})
   96	])
   97
   98	#containerResources: [...#containerResource]
   99
  100	#deployHook: close({
  101		"steps"?: #steps
  102		"pool"?:  #pool
  103	})
  104
  105	// Environment details
  106	#deploymentEnvironment: matchN(>=1, [
  107		string,
  108		close({
  109			"name"?:         #nonEmptyString
  110			"resourceName"?: #nonEmptyString
  111			"resourceId"?:   #nonEmptyString
  112			"resourceType"?: #nonEmptyString
  113			"tags"?:         #nonEmptyString
  114		})
  115	])
  116
  117	#deploymentStrategy: matchN(>=1, [close(
  118		{"runOnce"?: #runOnceDeploymentStrategy},
  119	), close(
  120		{"rolling"?: #rollingDeploymentStrategy},
  121	), close(
  122		{"canary"?: #canaryDeploymentStrategy},
  123	)])
  124
  125	#explicitResources: close({
  126		"repositories"?: #sequenceOfNonEmptyString
  127		"pools"?:        #sequenceOfNonEmptyString
  128	})
  129
  130	#extends: close({
  131		"template"?:   #nonEmptyString
  132		"parameters"?: #mapping
  133	})
  134
  135	#extendsParameters: [...#templateParameter]
  136
  137	#extendsTemplate: matchN(>=1, [close({
  138		"stages"?:     #stages
  139		"trigger"?:    #trigger
  140		"resources"?:  #resources
  141		"parameters"?: #extendsParameters
  142		"variables"?:  #variables
  143	}), close({
  144		"jobs"?:       #jobs
  145		"trigger"?:    #trigger
  146		"resources"?:  #resources
  147		"parameters"?: #extendsParameters
  148		"variables"?:  #variables
  149	}), close({
  150		"steps"?:      #steps
  151		"trigger"?:    #trigger
  152		"resources"?:  #resources
  153		"parameters"?: #extendsParameters
  154		"variables"?:  #variables
  155	}), close({
  156		"trigger"?:    #trigger
  157		"resources"?:  #resources
  158		"parameters"?: #extendsParameters
  159		"extends"?:    #extends
  160	})])
  161
  162	#extendsTemplateBase: close({
  163		"trigger"?:    #trigger
  164		"resources"?:  #resources
  165		"parameters"?: #extendsParameters
  166		"variables"?:  #variables
  167	})
  168
  169	#includeExcludeFilters: close({
  170		"include"?: #branchFilterArray
  171		"exclude"?: #branchFilterArray
  172	})
  173
  174	#includeExcludeStringFilters: matchN(>=1, [[
  175		...#nonEmptyString
  176	], close({
  177		"include"?: #sequenceOfNonEmptyString
  178		"exclude"?: #sequenceOfNonEmptyString
  179	})])
  180
  181	#job: matchN(>=1, [close({
  182		"job"?:                    #referenceName
  183		"displayName"?:            #string
  184		"dependsOn"?:              #jobDependsOn
  185		"condition"?:              #string
  186		"continueOnError"?:        #jobContinueOnError
  187		"timeoutInMinutes"?:       #nonEmptyString
  188		"cancelTimeoutInMinutes"?: #nonEmptyString
  189		"variables"?:              #variables
  190		"strategy"?:               #jobStrategy
  191		"pool"?:                   #pool
  192		"container"?:              #jobContainer
  193		"services"?:               #jobServices
  194		"workspace"?:              #jobWorkspace
  195		"uses"?:                   #explicitResources
  196		"steps"?:                  #steps
  197		"templateContext"?:        #templateContext
  198	}), close({
  199		"deployment"?:             #string
  200		"displayName"?:            #string
  201		"dependsOn"?:              #jobDependsOn
  202		"condition"?:              #string
  203		"continueOnError"?:        #jobContinueOnError
  204		"timeoutInMinutes"?:       #nonEmptyString
  205		"cancelTimeoutInMinutes"?: #nonEmptyString
  206		"variables"?:              #variables
  207		"pool"?:                   #pool
  208		"environment"?:            #deploymentEnvironment
  209		"strategy"?:               #deploymentStrategy
  210		"workspace"?:              #jobWorkspace
  211		"uses"?:                   #explicitResources
  212		"container"?:              #jobContainer
  213		"services"?:               #jobServices
  214		"templateContext"?:        #templateContext
  215	}), close({
  216		"template"?:   #nonEmptyString
  217		"parameters"?: #mapping
  218	})])
  219
  220	#jobContainer: matchN(>=1, [
  221		string,
  222		close({"alias"?: #string}), {
  223			"endpoint"?:        #string_allowExpressions
  224			"env"?:             #mappingOfStringString
  225			"image"!:           #string
  226			"mapDockerSocket"?: #boolean
  227			"options"?:         #string_allowExpressions
  228			"ports"?:           #sequenceOfString_allowExpressions
  229			"volumes"?:         #sequenceOfString_allowExpressions
  230			"mountReadOnly"?:   #readOnlyMounts
  231			...
  232		}
  233	])
  234
  235	#jobContinueOnError: string
  236
  237	#jobDecoratorSteps: close({"steps"?: #tasks})
  238
  239	#jobDependsOn: matchN(>=1, [string, [...#string]])
  240
  241	#jobMatrix: matchN(>=1, [
  242		struct.MinFields(1) & {
  243			{[=~"^[A-Za-z0-9_]+$"]: #matrixProperties}
  244			...
  245		},
  246		string
  247	])
  248
  249	#jobServices: {...}
  250
  251	#jobStrategy: matchN(>=1, [close({
  252		"matrix"?:      #jobMatrix
  253		"maxParallel"?: #nonEmptyString
  254	}), close(
  255		{"parallel"?: #nonEmptyString},
  256	)])
  257
  258	#jobWorkspace: close({"clean"?: #string})
  259
  260	#jobs: [...#job]
  261
  262	#jobsTemplate: matchN(>=1, [close({
  263		"parameters"?: #templateParameters
  264		"jobs"?:       #jobs
  265	}), close({
  266		"parameters"?: #templateParameters
  267		"phases"?:     #phases
  268	})])
  269
  270	#legacyRepoResourceAlias: =~"^self$"
  271
  272	#legacyResource: close({
  273		"repo"?:       #legacyRepoResourceAlias
  274		"clean"?:      #string
  275		"fetchDepth"?: #string
  276		"lfs"?:        #string
  277	})
  278
  279	#lockBehavior: matchN(>=1, [=~"^sequential$", =~"^runLatest$"])
  280
  281	#mapping: {...}
  282
  283	#mappingOfStringString: {...}
  284
  285	// Variable-value pair to pass in this matrix instance
  286	#matrixProperties: {...}
  287
  288	#nonEmptyString: string
  289
  290	#onFailureHook: close({
  291		"steps"?: #steps
  292		"pool"?:  #pool
  293	})
  294
  295	#onSuccessHook: close({
  296		"steps"?: #steps
  297		"pool"?:  #pool
  298	})
  299
  300	#onSuccessOrFailureHook: close({
  301		"failure"?: #onFailureHook
  302		"success"?: #onSuccessHook
  303	})
  304
  305	#packageResource: close({
  306		"package"!:    #referenceName
  307		"type"!:       #nonEmptyString
  308		"connection"!: #nonEmptyString
  309		"name"!:       #nonEmptyString
  310		"version"?:    #string_allowExpressions
  311		"tag"?:        #string_allowExpressions
  312		"trigger"?:    #packageResourceTrigger
  313	})
  314
  315	#packageResourceTrigger: matchN(>=1, [=~"^none$", =~"^true$"])
  316
  317	#packageResources: [...#packageResource]
  318
  319	#parametersTemplate: matchN(>=1, [close({
  320		"parameters"?: #templateParameters
  321		"steps"!:      #steps
  322	}), close({
  323		"parameters"?: #templateParameters
  324		"jobs"?:       #jobs
  325	}), close({
  326		"parameters"?: #templateParameters
  327		"stages"?:     #stages
  328	}), close({
  329		"resources"?:  #resources
  330		"parameters"?: #templateParameters
  331		"extends"!:    #extends
  332	})])
  333
  334	#phase: matchN(>=1, [close({
  335		"phase"?:           #referenceName
  336		"dependsOn"?:       #jobDependsOn
  337		"displayName"?:     #string
  338		"condition"?:       #string
  339		"continueOnError"?: #jobContinueOnError
  340		"queue"?:           #phaseQueueTarget
  341		"variables"?:       #variables
  342		"steps"?:           #steps
  343	}), close({
  344		"phase"?:           #referenceName
  345		"dependsOn"?:       #jobDependsOn
  346		"displayName"?:     #string
  347		"condition"?:       #string
  348		"continueOnError"?: #jobContinueOnError
  349		"server"?:          #phaseServerTarget
  350		"variables"?:       #variables
  351		"steps"?:           #steps
  352	}), close({
  353		"template"?:   #nonEmptyString
  354		"parameters"?: #mapping
  355	})])
  356
  357	// Queue details
  358	#phaseQueueTarget: matchN(>=1, [
  359		string,
  360		close({
  361			"cancelTimeoutInMinutes"?: #nonEmptyString
  362			"container"?:              #nonEmptyString
  363			"demands"?:                #phaseTargetDemands
  364			"matrix"?:                 #phaseTargetMatrix
  365			"name"?:                   #string
  366			"parallel"?:               #nonEmptyString
  367			"timeoutInMinutes"?:       #nonEmptyString
  368			"workspace"?:              #phaseTargetWorkspace
  369		})
  370	])
  371
  372	#phaseServerTarget: matchN(>=1, [
  373		string,
  374		close({
  375			"cancelTimeoutInMinutes"?: #nonEmptyString
  376			"matrix"?:                 #phaseTargetMatrix
  377			"parallel"?:               #nonEmptyString
  378			"timeoutInMinutes"?:       #nonEmptyString
  379		})
  380	])
  381
  382	#phaseTargetDemands: matchN(>=1, [string, [...#nonEmptyString]])
  383
  384	// List of permutations of variable values to run
  385	#phaseTargetMatrix: matchN(>=1, [{...}, string]) &
  386	(string |
  387	struct.MinFields(1) & {
  388		{[=~"^[A-Za-z0-9_]+$"]: #matrixProperties}
  389		...
  390	})
  391
  392	#phaseTargetWorkspace: close({"clean"?: #string})
  393
  394	#phases: [...#phase]
  395
  396	#pipeline: matchN(>=1, [close({
  397		"stages"!:                       #stages
  398		"pool"?:                         #pool
  399		"name"?:                         #string_allowExpressions
  400		"appendCommitMessageToRunName"?: #boolean
  401		"trigger"?:                      #trigger
  402		"parameters"?:                   #pipelineTemplateParameters
  403		"pr"?:                           #pr
  404		"schedules"?:                    #schedules
  405		"resources"?:                    #resources
  406		"variables"?:                    #variables
  407		"lockBehavior"?:                 #lockBehavior
  408	}), close({
  409		"extends"!:                      #extends
  410		"pool"?:                         #pool
  411		"name"?:                         #string_allowExpressions
  412		"appendCommitMessageToRunName"?: #boolean
  413		"trigger"?:                      #trigger
  414		"parameters"?:                   #pipelineTemplateParameters
  415		"pr"?:                           #pr
  416		"schedules"?:                    #schedules
  417		"resources"?:                    #resources
  418		"variables"?:                    #variables
  419		"lockBehavior"?:                 #lockBehavior
  420	}), close({
  421		"jobs"!:                         #jobs
  422		"pool"?:                         #pool
  423		"name"?:                         #string_allowExpressions
  424		"appendCommitMessageToRunName"?: #boolean
  425		"trigger"?:                      #trigger
  426		"parameters"?:                   #pipelineTemplateParameters
  427		"pr"?:                           #pr
  428		"schedules"?:                    #schedules
  429		"resources"?:                    #resources
  430		"variables"?:                    #variables
  431		"lockBehavior"?:                 #lockBehavior
  432	}), close({
  433		"phases"!:                       #phases
  434		"name"?:                         #string_allowExpressions
  435		"appendCommitMessageToRunName"?: #boolean
  436		"trigger"?:                      #trigger
  437		"parameters"?:                   #pipelineTemplateParameters
  438		"pr"?:                           #pr
  439		"schedules"?:                    #schedules
  440		"resources"?:                    #resources
  441		"variables"?:                    #variables
  442		"lockBehavior"?:                 #lockBehavior
  443	}), close({
  444		"strategy"?:                     #jobStrategy
  445		"continueOnError"?:              #jobContinueOnError
  446		"pool"?:                         #pool
  447		"container"?:                    #jobContainer
  448		"services"?:                     #jobServices
  449		"workspace"?:                    #jobWorkspace
  450		"steps"!:                        #steps
  451		"name"?:                         #string_allowExpressions
  452		"appendCommitMessageToRunName"?: #boolean
  453		"trigger"?:                      #trigger
  454		"parameters"?:                   #pipelineTemplateParameters
  455		"pr"?:                           #pr
  456		"schedules"?:                    #schedules
  457		"resources"?:                    #resources
  458		"variables"?:                    #variables
  459		"lockBehavior"?:                 #lockBehavior
  460	}), close({
  461		"continueOnError"?:              #jobContinueOnError
  462		"queue"?:                        #phaseQueueTarget
  463		"steps"!:                        #steps
  464		"name"?:                         #string_allowExpressions
  465		"appendCommitMessageToRunName"?: #boolean
  466		"trigger"?:                      #trigger
  467		"parameters"?:                   #pipelineTemplateParameters
  468		"pr"?:                           #pr
  469		"schedules"?:                    #schedules
  470		"resources"?:                    #resources
  471		"variables"?:                    #variables
  472		"lockBehavior"?:                 #lockBehavior
  473	}), close({
  474		"continueOnError"?:              #jobContinueOnError
  475		"server"?:                       #phaseServerTarget
  476		"steps"!:                        #steps
  477		"name"?:                         #string_allowExpressions
  478		"appendCommitMessageToRunName"?: #boolean
  479		"trigger"?:                      #trigger
  480		"parameters"?:                   #pipelineTemplateParameters
  481		"pr"?:                           #pr
  482		"schedules"?:                    #schedules
  483		"resources"?:                    #resources
  484		"variables"?:                    #variables
  485		"lockBehavior"?:                 #lockBehavior
  486	})])
  487
  488	#pipelineAnyBase: close({
  489		"name"?:                         #any_allowExpressions
  490		"appendCommitMessageToRunName"?: #any_allowExpressions
  491		"trigger"?:                      #any_allowExpressions
  492		"parameters"?:                   #any_allowExpressions
  493		"pr"?:                           #any_allowExpressions
  494		"schedules"?:                    #any_allowExpressions
  495		"resources"?:                    #any_allowExpressions
  496		"variables"?:                    #any_allowExpressions
  497		"stages"?:                       #any_allowExpressions
  498		"jobs"?:                         #any_allowExpressions
  499		"extends"?:                      #any_allowExpressions
  500		"phases"?:                       #any_allowExpressions
  501		"strategy"?:                     #any_allowExpressions
  502		"continueOnError"?:              #any_allowExpressions
  503		"pool"?:                         #any_allowExpressions
  504		"container"?:                    #any_allowExpressions
  505		"services"?:                     #any_allowExpressions
  506		"workspace"?:                    #any_allowExpressions
  507		"steps"?:                        #any_allowExpressions
  508		"queue"?:                        #any_allowExpressions
  509		"server"?:                       #any_allowExpressions
  510		"lockBehavior"?:                 #lockBehavior
  511	})
  512
  513	#pipelineBase: close({
  514		"name"?:                         #string_allowExpressions
  515		"appendCommitMessageToRunName"?: #boolean
  516		"trigger"?:                      #trigger
  517		"parameters"?:                   #pipelineTemplateParameters
  518		"pr"?:                           #pr
  519		"schedules"?:                    #schedules
  520		"resources"?:                    #resources
  521		"variables"?:                    #variables
  522		"lockBehavior"?:                 #lockBehavior
  523	})
  524
  525	#pipelinePR: close({
  526		"pr"?:                           #pr
  527		"name"?:                         #any_allowExpressions
  528		"appendCommitMessageToRunName"?: #any_allowExpressions
  529		"trigger"?:                      #any_allowExpressions
  530		"parameters"?:                   #any_allowExpressions
  531		"schedules"?:                    #any_allowExpressions
  532		"resources"?:                    #any_allowExpressions
  533		"variables"?:                    #any_allowExpressions
  534		"stages"?:                       #any_allowExpressions
  535		"jobs"?:                         #any_allowExpressions
  536		"extends"?:                      #any_allowExpressions
  537		"phases"?:                       #any_allowExpressions
  538		"strategy"?:                     #any_allowExpressions
  539		"continueOnError"?:              #any_allowExpressions
  540		"pool"?:                         #any_allowExpressions
  541		"container"?:                    #any_allowExpressions
  542		"services"?:                     #any_allowExpressions
  543		"workspace"?:                    #any_allowExpressions
  544		"steps"?:                        #any_allowExpressions
  545		"queue"?:                        #any_allowExpressions
  546		"server"?:                       #any_allowExpressions
  547		"lockBehavior"?:                 #lockBehavior
  548	})
  549
  550	#pipelineParameters: close({
  551		"parameters"?:                   #pipelineTemplateParameters
  552		"name"?:                         #any_allowExpressions
  553		"appendCommitMessageToRunName"?: #any_allowExpressions
  554		"trigger"?:                      #any_allowExpressions
  555		"pr"?:                           #any_allowExpressions
  556		"schedules"?:                    #any_allowExpressions
  557		"resources"?:                    #any_allowExpressions
  558		"variables"?:                    #any_allowExpressions
  559		"stages"?:                       #any_allowExpressions
  560		"jobs"?:                         #any_allowExpressions
  561		"extends"?:                      #any_allowExpressions
  562		"phases"?:                       #any_allowExpressions
  563		"strategy"?:                     #any_allowExpressions
  564		"continueOnError"?:              #any_allowExpressions
  565		"pool"?:                         #any_allowExpressions
  566		"container"?:                    #any_allowExpressions
  567		"services"?:                     #any_allowExpressions
  568		"workspace"?:                    #any_allowExpressions
  569		"steps"?:                        #any_allowExpressions
  570		"queue"?:                        #any_allowExpressions
  571		"server"?:                       #any_allowExpressions
  572		"lockBehavior"?:                 #lockBehavior
  573	})
  574
  575	#pipelineResource: close({
  576		"pipeline"!: #referenceName
  577		"project"?:  #nonEmptyString
  578		"source"?:   #nonEmptyString
  579		"version"?:  #string_allowExpressions
  580		"branch"?:   #string_allowExpressions
  581		"tags"?:     #sequenceOfNonEmptyString
  582		"trigger"?:  #pipelineResourceTrigger
  583	})
  584
  585	#pipelineResourceTrigger: matchN(>=1, [
  586		=~"^none$",
  587		=~"^true$",
  588		close({
  589			"enabled"?:  #boolean
  590			"branches"?: #triggerBranchFilter
  591			"stages"?:   #sequenceOfNonEmptyString
  592			"tags"?:     #sequenceOfNonEmptyString
  593		})
  594	])
  595
  596	#pipelineResources: [...#pipelineResource]
  597
  598	#pipelineSchedules: close({
  599		"schedules"?:                    #schedules
  600		"name"?:                         #any_allowExpressions
  601		"appendCommitMessageToRunName"?: #any_allowExpressions
  602		"trigger"?:                      #any_allowExpressions
  603		"parameters"?:                   #any_allowExpressions
  604		"pr"?:                           #any_allowExpressions
  605		"resources"?:                    #any_allowExpressions
  606		"variables"?:                    #any_allowExpressions
  607		"stages"?:                       #any_allowExpressions
  608		"jobs"?:                         #any_allowExpressions
  609		"extends"?:                      #any_allowExpressions
  610		"phases"?:                       #any_allowExpressions
  611		"strategy"?:                     #any_allowExpressions
  612		"continueOnError"?:              #any_allowExpressions
  613		"pool"?:                         #any_allowExpressions
  614		"container"?:                    #any_allowExpressions
  615		"services"?:                     #any_allowExpressions
  616		"workspace"?:                    #any_allowExpressions
  617		"steps"?:                        #any_allowExpressions
  618		"queue"?:                        #any_allowExpressions
  619		"server"?:                       #any_allowExpressions
  620		"lockBehavior"?:                 #lockBehavior
  621	})
  622
  623	#pipelineTemplateParameter: close({
  624		"name"?:        #nonEmptyString
  625		"displayName"?: #string
  626		"type"?:        #pipelineTemplateParameterType
  627		"default"?:     #any
  628		"values"?:      #sequenceOfNonEmptyString
  629	})
  630
  631	#pipelineTemplateParameterType: matchN(>=1, [
  632		=~"^boolean$",
  633		=~"^container$",
  634		=~"^containerList$",
  635		=~"^deployment$",
  636		=~"^deploymentList$",
  637		=~"^environment$",
  638		=~"^filePath$",
  639		=~"^job$",
  640		=~"^jobList$",
  641		=~"^number$",
  642		=~"^object$",
  643		=~"^pool$",
  644		=~"^secureFile$",
  645		=~"^serviceConnection$",
  646		=~"^stage$",
  647		=~"^stageList$",
  648		=~"^step$",
  649		=~"^stepList$",
  650		=~"^string$",
  651		=~"^stringList$",
  652	])
  653
  654	#pipelineTemplateParameters: [...#pipelineTemplateParameter]
  655
  656	#pipelineTrigger: close({
  657		"trigger"?:                      #trigger
  658		"name"?:                         #any_allowExpressions
  659		"appendCommitMessageToRunName"?: #any_allowExpressions
  660		"parameters"?:                   #any_allowExpressions
  661		"pr"?:                           #any_allowExpressions
  662		"schedules"?:                    #any_allowExpressions
  663		"resources"?:                    #any_allowExpressions
  664		"variables"?:                    #any_allowExpressions
  665		"stages"?:                       #any_allowExpressions
  666		"jobs"?:                         #any_allowExpressions
  667		"extends"?:                      #any_allowExpressions
  668		"phases"?:                       #any_allowExpressions
  669		"strategy"?:                     #any_allowExpressions
  670		"continueOnError"?:              #any_allowExpressions
  671		"pool"?:                         #any_allowExpressions
  672		"container"?:                    #any_allowExpressions
  673		"services"?:                     #any_allowExpressions
  674		"workspace"?:                    #any_allowExpressions
  675		"steps"?:                        #any_allowExpressions
  676		"queue"?:                        #any_allowExpressions
  677		"server"?:                       #any_allowExpressions
  678		"lockBehavior"?:                 #lockBehavior
  679	})
  680
  681	// Pool details
  682	#pool: matchN(>=1, [
  683		string,
  684		{
  685			"name"?:    #nonEmptyString
  686			"demands"?: #poolDemands
  687			"vmImage"?: #nonEmptyString
  688			...
  689		}
  690	])
  691
  692	#poolDemands: matchN(>=1, [string, [...#nonEmptyString]])
  693
  694	#postRouteTrafficHook: close({
  695		"steps"?: #steps
  696		"pool"?:  #pool
  697	})
  698
  699	#pr: matchN(>=1, [
  700		=~"^none$",
  701		[...#branchFilter], close({
  702			"autoCancel"?: #boolean
  703			"branches"?:   #includeExcludeFilters
  704			"paths"?:      #includeExcludeFilters
  705			"drafts"?:     #boolean
  706		})
  707	])
  708
  709	#preDeployHook: close({
  710		"steps"?: #steps
  711		"pool"?:  #pool
  712	})
  713
  714	#readOnlyMounts: close({
  715		"work"?:      #boolean
  716		"externals"?: #boolean
  717		"tools"?:     #boolean
  718		"tasks"?:     #boolean
  719	})
  720
  721	#referenceName: =~"^[-_A-Za-z0-9]*$"
  722
  723	#repositoryCheckoutOptions: close({
  724		"clean"?:              #string
  725		"fetchDepth"?:         #string
  726		"fetchTags"?:          #string
  727		"lfs"?:                #string
  728		"submodules"?:         #string
  729		"persistCredentials"?: #string
  730	})
  731
  732	#repositoryResource: {
  733		"repository"!:      #referenceName
  734		"endpoint"?:        #nonEmptyString
  735		"trigger"?:         #trigger
  736		"checkoutOptions"?: #repositoryCheckoutOptions
  737		"name"?:            #nonEmptyString
  738		"ref"?:             #string_allowExpressions
  739		"type"?:            #string
  740		...
  741	}
  742
  743	#repositoryResources: [...#repositoryResource]
  744
  745	#resources: matchN(>=1, [close({
  746		"builds"?:       #buildResources
  747		"containers"?:   #containerResources
  748		"pipelines"?:    #pipelineResources
  749		"repositories"?: #repositoryResources
  750		"webhooks"?:     #webhookResources
  751		"packages"?:     #packageResources
  752	}), [
  753		...#legacyResource
  754	]])
  755
  756	#rollingDeploymentStrategy: close({
  757		"maxParallel"?:      #nonEmptyString
  758		"preDeploy"?:        #preDeployHook
  759		"deploy"?:           #deployHook
  760		"routeTraffic"?:     #routeTrafficHook
  761		"postRouteTraffic"?: #postRouteTrafficHook
  762		"on"?:               #onSuccessOrFailureHook
  763	})
  764
  765	#routeTrafficHook: close({
  766		"steps"?: #steps
  767		"pool"?:  #pool
  768	})
  769
  770	#runOnceDeploymentStrategy: close({
  771		"preDeploy"?:        #preDeployHook
  772		"deploy"?:           #deployHook
  773		"routeTraffic"?:     #routeTrafficHook
  774		"postRouteTraffic"?: #postRouteTrafficHook
  775		"on"?:               #onSuccessOrFailureHook
  776	})
  777
  778	#schedule: close({
  779		"cron"?:        #nonEmptyString
  780		"displayName"?: #string
  781		"branches"?:    #includeExcludeFilters
  782		"batch"?:       #boolean
  783		"always"?:      #boolean
  784	})
  785
  786	#schedules: [...#schedule]
  787
  788	#sequence: [...#any]
  789
  790	#sequenceOfNonEmptyString: [...#nonEmptyString]
  791
  792	#sequenceOfString_allowExpressions: [...#string_allowExpressions]
  793
  794	#stage: matchN(>=1, [close({
  795		"stage"?:           #string
  796		"group"?:           #string
  797		"displayName"?:     #string
  798		"pool"?:            #pool
  799		"dependsOn"?:       #jobDependsOn
  800		"condition"?:       #string
  801		"variables"?:       #variables
  802		"jobs"?:            #jobs
  803		"lockBehavior"?:    #lockBehavior
  804		"trigger"?:         #stageTrigger
  805		"isSkippable"?:     #boolean
  806		"templateContext"?: #templateContext
  807		"checks"?:          #checks
  808	}), close({
  809		"template"?:   #nonEmptyString
  810		"parameters"?: #mapping
  811	})])
  812
  813	#stageTrigger: matchN(>=1, [=~"^manual$", =~"^automatic$"])
  814
  815	#stages: [...#stage]
  816
  817	#stagesTemplate: close({
  818		"parameters"?: #templateParameters
  819		"stages"?:     #stages
  820	})
  821
  822	#step: matchN(>=1, [
  823		#task,
  824		close({
  825			"script"!:                  #string
  826			"failOnStderr"?:            #string
  827			"workingDirectory"?:        #string
  828			"condition"?:               #string
  829			"continueOnError"?:         #boolean
  830			"displayName"?:             #string
  831			"target"?:                  #stepTarget
  832			"enabled"?:                 #boolean
  833			"env"?:                     #mappingOfStringString
  834			"name"?:                    #referenceName
  835			"timeoutInMinutes"?:        #nonEmptyString
  836			"retryCountOnTaskFailure"?: #string
  837		}), close({
  838			"powershell"!:              #string
  839			"errorActionPreference"?:   #string
  840			"failOnStderr"?:            #string
  841			"ignoreLASTEXITCODE"?:      #string
  842			"workingDirectory"?:        #string
  843			"condition"?:               #string
  844			"continueOnError"?:         #boolean
  845			"displayName"?:             #string
  846			"target"?:                  #stepTarget
  847			"enabled"?:                 #boolean
  848			"env"?:                     #mappingOfStringString
  849			"name"?:                    #referenceName
  850			"timeoutInMinutes"?:        #nonEmptyString
  851			"retryCountOnTaskFailure"?: #string
  852		}), close({
  853			"pwsh"!:                    #string
  854			"errorActionPreference"?:   #string
  855			"failOnStderr"?:            #string
  856			"ignoreLASTEXITCODE"?:      #string
  857			"workingDirectory"?:        #string
  858			"condition"?:               #string
  859			"continueOnError"?:         #boolean
  860			"displayName"?:             #string
  861			"target"?:                  #stepTarget
  862			"enabled"?:                 #boolean
  863			"env"?:                     #mappingOfStringString
  864			"name"?:                    #referenceName
  865			"timeoutInMinutes"?:        #nonEmptyString
  866			"retryCountOnTaskFailure"?: #string
  867		}), close({
  868			"bash"!:                    #string
  869			"failOnStderr"?:            #string
  870			"workingDirectory"?:        #string
  871			"condition"?:               #string
  872			"continueOnError"?:         #boolean
  873			"displayName"?:             #string
  874			"target"?:                  #stepTarget
  875			"enabled"?:                 #boolean
  876			"env"?:                     #mappingOfStringString
  877			"name"?:                    #referenceName
  878			"timeoutInMinutes"?:        #nonEmptyString
  879			"retryCountOnTaskFailure"?: #string
  880		}), close({
  881			"checkout"?:                  #string
  882			"clean"?:                     #string
  883			"fetchDepth"?:                #string
  884			"fetchFilter"?:               #string
  885			"fetchTags"?:                 #string
  886			"lfs"?:                       #string
  887			"persistCredentials"?:        #string
  888			"submodules"?:                #string
  889			"path"?:                      #string
  890			"sparseCheckoutDirectories"?: #string
  891			"sparseCheckoutPatterns"?:    #string
  892			"workspaceRepo"?:             #string
  893			"condition"?:                 #string
  894			"continueOnError"?:           #boolean
  895			"displayName"?:               #string
  896			"target"?:                    #stepTarget
  897			"enabled"?:                   #boolean
  898			"env"?:                       #mappingOfStringString
  899			"name"?:                      #referenceName
  900			"timeoutInMinutes"?:          #nonEmptyString
  901			"retryCountOnTaskFailure"?:   #string
  902		}), close({
  903			"download"!:                #nonEmptyString
  904			"artifact"?:                #nonEmptyString
  905			"patterns"?:                #nonEmptyString
  906			"condition"?:               #string
  907			"continueOnError"?:         #boolean
  908			"displayName"?:             #string
  909			"target"?:                  #stepTarget
  910			"enabled"?:                 #boolean
  911			"env"?:                     #mappingOfStringString
  912			"name"?:                    #referenceName
  913			"timeoutInMinutes"?:        #nonEmptyString
  914			"retryCountOnTaskFailure"?: #string
  915		}), close({
  916			"downloadBuild"?:           #nonEmptyString
  917			"artifact"?:                #string
  918			"path"?:                    #string
  919			"patterns"?:                #string
  920			"inputs"?:                  #mappingOfStringString
  921			"condition"?:               #string
  922			"continueOnError"?:         #boolean
  923			"displayName"?:             #string
  924			"target"?:                  #stepTarget
  925			"enabled"?:                 #boolean
  926			"env"?:                     #mappingOfStringString
  927			"name"?:                    #referenceName
  928			"timeoutInMinutes"?:        #nonEmptyString
  929			"retryCountOnTaskFailure"?: #string
  930		}), close({
  931			"getPackage"?:              #nonEmptyString
  932			"path"?:                    #string
  933			"condition"?:               #string
  934			"continueOnError"?:         #boolean
  935			"displayName"?:             #string
  936			"target"?:                  #stepTarget
  937			"enabled"?:                 #boolean
  938			"env"?:                     #mappingOfStringString
  939			"name"?:                    #referenceName
  940			"timeoutInMinutes"?:        #nonEmptyString
  941			"retryCountOnTaskFailure"?: #string
  942		}), close({
  943			"upload"?:                  #string
  944			"artifact"?:                #string
  945			"condition"?:               #string
  946			"continueOnError"?:         #boolean
  947			"displayName"?:             #string
  948			"target"?:                  #stepTarget
  949			"enabled"?:                 #boolean
  950			"env"?:                     #mappingOfStringString
  951			"name"?:                    #referenceName
  952			"timeoutInMinutes"?:        #nonEmptyString
  953			"retryCountOnTaskFailure"?: #string
  954		}), close({
  955			"publish"?:                 #string
  956			"artifact"?:                #string
  957			"condition"?:               #string
  958			"continueOnError"?:         #boolean
  959			"displayName"?:             #string
  960			"target"?:                  #stepTarget
  961			"enabled"?:                 #boolean
  962			"env"?:                     #mappingOfStringString
  963			"name"?:                    #referenceName
  964			"timeoutInMinutes"?:        #nonEmptyString
  965			"retryCountOnTaskFailure"?: #string
  966		}), close({
  967			"template"?:   #nonEmptyString
  968			"parameters"?: #mapping
  969		}), close({
  970			"reviewApp"?:               #string
  971			"condition"?:               #string
  972			"continueOnError"?:         #boolean
  973			"displayName"?:             #string
  974			"target"?:                  #stepTarget
  975			"enabled"?:                 #boolean
  976			"env"?:                     #mappingOfStringString
  977			"name"?:                    #referenceName
  978			"timeoutInMinutes"?:        #nonEmptyString
  979			"retryCountOnTaskFailure"?: #string
  980		})
  981	])
  982
  983	// Step target
  984	#stepTarget: matchN(>=1, [
  985		string,
  986		close({
  987			"container"?:         #nonEmptyString
  988			"commands"?:          #string
  989			"settableVariables"?: #variableRestrictions
  990		})
  991	])
  992
  993	#steps: [...#step]
  994
  995	#stepsTemplate: close({
  996		"parameters"?: #templateParameters
  997		"steps"?:      #steps
  998	})
  999
 1000	#string: string
 1001
 1002	#string_allowExpressions: string
 1003
 1004	#task: matchN(>=1, [
 1005		{
 1006			// PowerShell
 1007			//
 1008			// Run a PowerShell script on Linux, macOS, or Windows
 1009			"task"!: null | bool | number | =~"^PowerShell@2$" | [...] | {...}
 1010
 1011			// PowerShell inputs
 1012			"inputs"?: null |
 1013			bool |
 1014			number |
 1015			string |
 1016			[...] |
 1017			close({
 1018				// Type
 1019				"targetType"?: "filePath" | "inline"
 1020
 1021				// Script Path
 1022				"filePath"?: string
 1023
 1024				// Arguments
 1025				"arguments"?: string
 1026
 1027				// Script
 1028				"script"?: string
 1029
 1030				// ErrorActionPreference
 1031				"errorActionPreference"?: "default" | "stop" | "continue" | "silentlyContinue"
 1032
 1033				// WarningPreference
 1034				"warningPreference"?: "default" | "stop" | "continue" | "silentlyContinue"
 1035
 1036				// InformationPreference
 1037				"informationPreference"?: "default" | "stop" | "continue" | "silentlyContinue"
 1038
 1039				// VerbosePreference
 1040				"verbosePreference"?: "default" | "stop" | "continue" | "silentlyContinue"
 1041
 1042				// DebugPreference
 1043				"debugPreference"?: "default" | "stop" | "continue" | "silentlyContinue"
 1044
 1045				// ProgressPreference
 1046				"progressPreference"?: "default" | "stop" | "continue" | "silentlyContinue"
 1047
 1048				// Fail on Standard Error
 1049				"failOnStderr"?: bool
 1050
 1051				// Show warnings as Azure DevOps warnings
 1052				"showWarnings"?: bool
 1053
 1054				// Ignore $LASTEXITCODE
 1055				"ignoreLASTEXITCODE"?: bool
 1056
 1057				// Use PowerShell Core
 1058				"pwsh"?: bool
 1059
 1060				// Working Directory
 1061				"workingDirectory"?: string
 1062
 1063				// Run script in the separate scope
 1064				"runScriptInSeparateScope"?: bool
 1065			})
 1066			...
 1067		},
 1068		{
 1069			// PowerShell
 1070			//
 1071			// Run a PowerShell script
 1072			"task"!: null | bool | number | =~"^PowerShell@1$" | [...] | {...}
 1073
 1074			// PowerShell inputs
 1075			"inputs"?: null |
 1076			bool |
 1077			number |
 1078			string |
 1079			[...] |
 1080			close({
 1081				// Type
 1082				"scriptType"?: "inlineScript" | "filePath"
 1083
 1084				// Script Path
 1085				"scriptName"?: string
 1086
 1087				// Arguments
 1088				"arguments"?: string
 1089
 1090				// Working folder
 1091				"workingFolder"?: string
 1092
 1093				// Inline Script
 1094				"inlineScript"?: string
 1095
 1096				// Fail on Standard Error
 1097				"failOnStandardError"?: bool
 1098			})
 1099			...
 1100		},
 1101		{
 1102			// Azure PowerShell
 1103			//
 1104			// Run a PowerShell script within an Azure environment
 1105			"task"!: null | bool | number | =~"^AzurePowerShell@5$" | [...] | {...}
 1106
 1107			// Azure PowerShell inputs
 1108			"inputs"!: null |
 1109			bool |
 1110			number |
 1111			string |
 1112			[...] |
 1113			close({
 1114				// Azure Subscription
 1115				"azureSubscription"!: string
 1116
 1117				// Script Type
 1118				"ScriptType"?: "FilePath" | "InlineScript"
 1119
 1120				// Script Path
 1121				"ScriptPath"?: string
 1122
 1123				// Inline Script
 1124				"Inline"?: string
 1125
 1126				// Script Arguments
 1127				"ScriptArguments"?: string
 1128
 1129				// ErrorActionPreference
 1130				"errorActionPreference"?: "stop" | "continue" | "silentlyContinue"
 1131
 1132				// Fail on Standard Error
 1133				"FailOnStandardError"?: bool
 1134
 1135				// Azure PowerShell Version
 1136				"azurePowerShellVersion"?: "LatestVersion" | "OtherVersion"
 1137
 1138				// Preferred Azure PowerShell Version
 1139				"preferredAzurePowerShellVersion"?: string
 1140
 1141				// Use PowerShell Core
 1142				"pwsh"?: bool
 1143
 1144				// Validate script signature
 1145				"validateScriptSignature"?: bool
 1146
 1147				// Working Directory
 1148				"workingDirectory"?: string
 1149			})
 1150			...
 1151		},
 1152		{
 1153			// Azure PowerShell
 1154			//
 1155			// Run a PowerShell script within an Azure environment
 1156			"task"!: null | bool | number | =~"^AzurePowerShell@4$" | [...] | {...}
 1157
 1158			// Azure PowerShell inputs
 1159			"inputs"!: null |
 1160			bool |
 1161			number |
 1162			string |
 1163			[...] |
 1164			close({
 1165				// Azure Subscription
 1166				"azureSubscription"!: string
 1167
 1168				// Script Type
 1169				"ScriptType"?: "FilePath" | "InlineScript"
 1170
 1171				// Script Path
 1172				"ScriptPath"?: string
 1173
 1174				// Inline Script
 1175				"Inline"?: string
 1176
 1177				// Script Arguments
 1178				"ScriptArguments"?: string
 1179
 1180				// ErrorActionPreference
 1181				"errorActionPreference"?: "stop" | "continue" | "silentlyContinue"
 1182
 1183				// Fail on Standard Error
 1184				"FailOnStandardError"?: bool
 1185
 1186				// Restrict scope of context to current task
 1187				"RestrictContextToCurrentTask"?: bool
 1188
 1189				// Azure PowerShell Version
 1190				"azurePowerShellVersion"?: "LatestVersion" | "OtherVersion"
 1191
 1192				// Preferred Azure PowerShell Version
 1193				"preferredAzurePowerShellVersion"?: string
 1194
 1195				// Use PowerShell Core
 1196				"pwsh"?: bool
 1197
 1198				// Validate script signature
 1199				"validateScriptSignature"?: bool
 1200
 1201				// Working Directory
 1202				"workingDirectory"?: string
 1203			})
 1204			...
 1205		},
 1206		{
 1207			// Azure PowerShell
 1208			//
 1209			// Run a PowerShell script within an Azure environment
 1210			"task"!: null | bool | number | =~"^AzurePowerShell@1$" | [...] | {...}
 1211
 1212			// Azure PowerShell inputs
 1213			"inputs"?: null |
 1214			bool |
 1215			number |
 1216			string |
 1217			[...] |
 1218			close({
 1219				// Azure Connection Type
 1220				"ConnectedServiceNameSelector"?: "ConnectedServiceName" | "ConnectedServiceNameARM"
 1221
 1222				// Azure Classic Subscription
 1223				"ConnectedServiceName"?: string
 1224
 1225				// Azure Subscription
 1226				"ConnectedServiceNameARM"?: string
 1227
 1228				// Script Type
 1229				"ScriptType"?: "FilePath" | "InlineScript"
 1230
 1231				// Script Path
 1232				"ScriptPath"?: string
 1233
 1234				// Inline Script
 1235				"Inline"?: string
 1236
 1237				// Script Arguments
 1238				"ScriptArguments"?: string
 1239			})
 1240			...
 1241		},
 1242		{
 1243			// Azure PowerShell
 1244			//
 1245			// Run a PowerShell script within an Azure environment
 1246			"task"!: null | bool | number | =~"^AzurePowerShell@2$" | [...] | {...}
 1247
 1248			// Azure PowerShell inputs
 1249			"inputs"?: null |
 1250			bool |
 1251			number |
 1252			string |
 1253			[...] |
 1254			close({
 1255				// Azure Connection Type
 1256				"azureConnectionType"?: "ConnectedServiceName" | "ConnectedServiceNameARM"
 1257
 1258				// Azure Classic Subscription
 1259				"azureClassicSubscription"?: string
 1260
 1261				// Azure Subscription
 1262				"azureSubscription"?: string
 1263
 1264				// Script Type
 1265				"ScriptType"?: "FilePath" | "InlineScript"
 1266
 1267				// Script Path
 1268				"ScriptPath"?: string
 1269
 1270				// Inline Script
 1271				"Inline"?: string
 1272
 1273				// Script Arguments
 1274				"ScriptArguments"?: string
 1275
 1276				// Azure PowerShell Version
 1277				"azurePowerShellVersion"?: "LatestVersion" | "OtherVersion"
 1278
 1279				// Preferred Azure PowerShell Version
 1280				"preferredAzurePowerShellVersion"?: string
 1281			})
 1282			...
 1283		},
 1284		{
 1285			// Azure PowerShell
 1286			//
 1287			// Run a PowerShell script within an Azure environment
 1288			"task"!: null | bool | number | =~"^AzurePowerShell@3$" | [...] | {...}
 1289
 1290			// Azure PowerShell inputs
 1291			"inputs"?: null |
 1292			bool |
 1293			number |
 1294			string |
 1295			[...] |
 1296			close({
 1297				// Azure Connection Type
 1298				"azureConnectionType"?: "ConnectedServiceName" | "ConnectedServiceNameARM"
 1299
 1300				// Azure Classic Subscription
 1301				"azureClassicSubscription"?: string
 1302
 1303				// Azure Subscription
 1304				"azureSubscription"?: string
 1305
 1306				// Script Type
 1307				"ScriptType"?: "FilePath" | "InlineScript"
 1308
 1309				// Script Path
 1310				"ScriptPath"?: string
 1311
 1312				// Inline Script
 1313				"Inline"?: string
 1314
 1315				// Script Arguments
 1316				"ScriptArguments"?: string
 1317
 1318				// ErrorActionPreference
 1319				"errorActionPreference"?: "stop" | "continue" | "silentlyContinue"
 1320
 1321				// Fail on Standard Error
 1322				"FailOnStandardError"?: bool
 1323
 1324				// Azure PowerShell Version
 1325				"azurePowerShellVersion"?: "LatestVersion" | "OtherVersion"
 1326
 1327				// Preferred Azure PowerShell Version
 1328				"preferredAzurePowerShellVersion"?: string
 1329
 1330				// Validate script signature
 1331				"validateScriptSignature"?: bool
 1332			})
 1333			...
 1334		},
 1335		{
 1336			// MySQL database deploy
 1337			//
 1338			// Run scripts and make changes to a MySQL Database
 1339			"task"!: null | bool | number | =~"^MysqlDeploymentOnMachineGroup@1$" | [...] | {...}
 1340
 1341			// MySQL database deploy inputs
 1342			"inputs"!: null |
 1343			bool |
 1344			number |
 1345			string |
 1346			[...] |
 1347			close({
 1348				// Deploy MySql Using
 1349				"TaskNameSelector"?: "SqlTaskFile" | "InlineSqlTask"
 1350
 1351				// MySQL Script
 1352				"SqlFile"?: string
 1353
 1354				// Inline MySQL Script
 1355				"SqlInline"?: string
 1356
 1357				// Host Name
 1358				"ServerName"?: string
 1359
 1360				// Database Name
 1361				"DatabaseName"?: string
 1362
 1363				// MySQL User Name
 1364				"SqlUsername"!: string
 1365
 1366				// Password
 1367				"SqlPassword"!: string
 1368
 1369				// Additional Arguments
 1370				"SqlAdditionalArguments"?: string
 1371			})
 1372			...
 1373		},
 1374		{
 1375			// Python pip authenticate
 1376			//
 1377			// Authentication task for the pip client used for installing Python distributions
 1378			"task"!: null | bool | number | =~"^PipAuthenticate@1$" | [...] | {...}
 1379
 1380			// Python pip authenticate inputs
 1381			"inputs"?: null |
 1382			bool |
 1383			number |
 1384			string |
 1385			[...] |
 1386			close({
 1387				// 'Azure DevOps' Service Connection
 1388				"azureDevOpsServiceConnection"?: string
 1389
 1390				// Azure Artifacts Feeds url.
 1391				"feedUrl"?: string
 1392
 1393				// My feeds (select below)
 1394				"artifactFeeds"?: string
 1395
 1396				// Feeds from external organizations
 1397				"pythonDownloadServiceConnections"?: string
 1398
 1399				// Don't set primary index URL
 1400				"onlyAddExtraIndex"?: bool
 1401			})
 1402			...
 1403		},
 1404		{
 1405			// Python pip authenticate
 1406			//
 1407			// Authentication task for the pip client used for installing Python distributions
 1408			"task"!: null | bool | number | =~"^PipAuthenticate@0$" | [...] | {...}
 1409
 1410			// Python pip authenticate inputs
 1411			"inputs"?: null |
 1412			bool |
 1413			number |
 1414			string |
 1415			[...] |
 1416			close({
 1417				// My feeds (select below)
 1418				"artifactFeeds"?: string
 1419
 1420				// Feeds from external organizations
 1421				"externalFeeds"?: string
 1422			})
 1423			...
 1424		},
 1425		{
 1426			// Maven
 1427			//
 1428			// Build, test, and deploy with Apache Maven
 1429			"task"!: null | bool | number | =~"^Maven@4$" | [...] | {...}
 1430
 1431			// Maven inputs
 1432			"inputs"?: null |
 1433			bool |
 1434			number |
 1435			string |
 1436			[...] |
 1437			close({
 1438				// Azure Resource Manager connection
 1439				"azureSubscription"?: string
 1440
 1441				// Maven POM file
 1442				"mavenPomFile"?: string
 1443
 1444				// Goal(s)
 1445				"goals"?: string
 1446
 1447				// Options
 1448				"options"?: string
 1449
 1450				// Publish to Azure Pipelines
 1451				"publishJUnitResults"?: bool
 1452
 1453				// Test results files
 1454				"testResultsFiles"?: string
 1455
 1456				// Test run title
 1457				"testRunTitle"?: string
 1458
 1459				// Allow broken symbolic links
 1460				"allowBrokenSymlinks"?: bool
 1461
 1462				// Code coverage tool
 1463				"codeCoverageToolOption"?: "None" | "Cobertura" | "JaCoCo"
 1464
 1465				// Class inclusion/exclusion filters
 1466				"codeCoverageClassFilter"?: string
 1467
 1468				// Class files directories
 1469				"codeCoverageClassFilesDirectories"?: string
 1470
 1471				// Source files directories
 1472				"codeCoverageSourceDirectories"?: string
 1473
 1474				// Fail when code coverage results are missing
 1475				"codeCoverageFailIfEmpty"?: bool
 1476
 1477				// Restore original pom.xml after task execution
 1478				"codeCoverageRestoreOriginalPomXml"?: bool
 1479
 1480				// Set JAVA_HOME by
 1481				"javaHomeOption"?: "JDKVersion" | "Path"
 1482
 1483				// JDK version
 1484				"jdkVersionOption"?: "default" | "1.21" | "1.17" | "1.11" | "1.10" | "1.9" | "1.8" | "1.7" | "1.6"
 1485
 1486				// JDK path
 1487				"jdkDirectory"?: string
 1488
 1489				// JDK architecture
 1490				"jdkArchitectureOption"?: "x86" | "x64"
 1491
 1492				// Maven version
 1493				"mavenVersionOption"?: "Default" | "Path"
 1494
 1495				// Maven path
 1496				"mavenDirectory"?: string
 1497
 1498				// Set M2_HOME variable
 1499				"mavenSetM2Home"?: bool
 1500
 1501				// Set MAVEN_OPTS to
 1502				"mavenOptions"?: string
 1503
 1504				// Authenticate with Artifacts feeds
 1505				"mavenAuthenticateFeed"?: bool
 1506
 1507				// Skip generating effective POM while authenticating with Artifacts feeds
 1508				"effectivePomSkip"?: bool
 1509
 1510				// Run SonarQube or SonarCloud analysis
 1511				"sonarQubeRunAnalysis"?: bool
 1512
 1513				// Use XML Jacoco reports for SonarQube analysis
 1514				"isJacocoCoverageReportXML"?: bool
 1515
 1516				// SonarQube scanner for Maven version
 1517				"sqMavenPluginVersionChoice"?: "latest" | "pom"
 1518
 1519				// Run Checkstyle
 1520				"checkStyleRunAnalysis"?: bool
 1521
 1522				// Run PMD
 1523				"pmdRunAnalysis"?: bool
 1524
 1525				// Run FindBugs
 1526				"findBugsRunAnalysis"?: bool
 1527
 1528				// Run SpotBugs analysis
 1529				"spotBugsRunAnalysis"?: bool
 1530
 1531				// Version number
 1532				"spotBugsVersion"?: string
 1533
 1534				// The goal for the spotbugs plugin
 1535				"spotBugsGoal"?: "spotbugs" | "check"
 1536
 1537				// Fail when bugs are found with spotbugs:check
 1538				"failWhenBugsFound"?: bool
 1539			})
 1540			...
 1541		},
 1542		{
 1543			// Maven
 1544			//
 1545			// Build, test, and deploy with Apache Maven
 1546			"task"!: null | bool | number | =~"^Maven@2$" | [...] | {...}
 1547
 1548			// Maven inputs
 1549			"inputs"?: null |
 1550			bool |
 1551			number |
 1552			string |
 1553			[...] |
 1554			close({
 1555				// Maven POM file
 1556				"mavenPomFile"?: string
 1557
 1558				// Goal(s)
 1559				"goals"?: string
 1560
 1561				// Options
 1562				"options"?: string
 1563
 1564				// Publish to Azure Pipelines
 1565				"publishJUnitResults"?: bool
 1566
 1567				// Test results files
 1568				"testResultsFiles"?: string
 1569
 1570				// Test run title
 1571				"testRunTitle"?: string
 1572
 1573				// Allow broken symbolic links
 1574				"allowBrokenSymlinks"?: bool
 1575
 1576				// Code coverage tool
 1577				"codeCoverageToolOption"?: "None" | "Cobertura" | "JaCoCo"
 1578
 1579				// Class inclusion/exclusion filters
 1580				"codeCoverageClassFilter"?: string
 1581
 1582				// Class files directories
 1583				"codeCoverageClassFilesDirectories"?: string
 1584
 1585				// Source files directories
 1586				"codeCoverageSourceDirectories"?: string
 1587
 1588				// Fail when code coverage results are missing
 1589				"codeCoverageFailIfEmpty"?: bool
 1590
 1591				// Restore original pom.xml after task execution
 1592				"codeCoverageRestoreOriginalPomXml"?: bool
 1593
 1594				// Set JAVA_HOME by
 1595				"javaHomeOption"?: "JDKVersion" | "Path"
 1596
 1597				// JDK version
 1598				"jdkVersionOption"?: "default" | "1.21" | "1.17" | "1.11" | "1.10" | "1.9" | "1.8" | "1.7" | "1.6"
 1599
 1600				// JDK path
 1601				"jdkDirectory"?: string
 1602
 1603				// JDK architecture
 1604				"jdkArchitectureOption"?: "x86" | "x64"
 1605
 1606				// Maven version
 1607				"mavenVersionOption"?: "Default" | "Path"
 1608
 1609				// Maven path
 1610				"mavenDirectory"?: string
 1611
 1612				// Set M2_HOME variable
 1613				"mavenSetM2Home"?: bool
 1614
 1615				// Set MAVEN_OPTS to
 1616				"mavenOptions"?: string
 1617
 1618				// Authenticate with Artifacts feeds
 1619				"mavenAuthenticateFeed"?: bool
 1620
 1621				// Run SonarQube or SonarCloud analysis
 1622				"sonarQubeRunAnalysis"?: bool
 1623
 1624				// Use XML Jacoco reports for SonarQube analysis
 1625				"isJacocoCoverageReportXML"?: bool
 1626
 1627				// SonarQube scanner for Maven version
 1628				"sqMavenPluginVersionChoice"?: "latest" | "pom"
 1629
 1630				// Run Checkstyle
 1631				"checkStyleRunAnalysis"?: bool
 1632
 1633				// Run PMD
 1634				"pmdRunAnalysis"?: bool
 1635
 1636				// Run FindBugs
 1637				"findBugsRunAnalysis"?: bool
 1638			})
 1639			...
 1640		},
 1641		{
 1642			// Maven
 1643			//
 1644			// Build, test, and deploy with Apache Maven
 1645			"task"!: null | bool | number | =~"^Maven@3$" | [...] | {...}
 1646
 1647			// Maven inputs
 1648			"inputs"?: null |
 1649			bool |
 1650			number |
 1651			string |
 1652			[...] |
 1653			close({
 1654				// Maven POM file
 1655				"mavenPomFile"?: string
 1656
 1657				// Goal(s)
 1658				"goals"?: string
 1659
 1660				// Options
 1661				"options"?: string
 1662
 1663				// Publish to Azure Pipelines
 1664				"publishJUnitResults"?: bool
 1665
 1666				// Test results files
 1667				"testResultsFiles"?: string
 1668
 1669				// Test run title
 1670				"testRunTitle"?: string
 1671
 1672				// Allow broken symbolic links
 1673				"allowBrokenSymlinks"?: bool
 1674
 1675				// Code coverage tool
 1676				"codeCoverageToolOption"?: "None" | "Cobertura" | "JaCoCo"
 1677
 1678				// Class inclusion/exclusion filters
 1679				"codeCoverageClassFilter"?: string
 1680
 1681				// Class files directories
 1682				"codeCoverageClassFilesDirectories"?: string
 1683
 1684				// Source files directories
 1685				"codeCoverageSourceDirectories"?: string
 1686
 1687				// Fail when code coverage results are missing
 1688				"codeCoverageFailIfEmpty"?: bool
 1689
 1690				// Restore original pom.xml after task execution
 1691				"codeCoverageRestoreOriginalPomXml"?: bool
 1692
 1693				// Set JAVA_HOME by
 1694				"javaHomeOption"?: "JDKVersion" | "Path"
 1695
 1696				// JDK version
 1697				"jdkVersionOption"?: "default" | "1.21" | "1.17" | "1.11" | "1.10" | "1.9" | "1.8" | "1.7" | "1.6"
 1698
 1699				// JDK path
 1700				"jdkDirectory"?: string
 1701
 1702				// JDK architecture
 1703				"jdkArchitectureOption"?: "x86" | "x64"
 1704
 1705				// Maven version
 1706				"mavenVersionOption"?: "Default" | "Path"
 1707
 1708				// Maven path
 1709				"mavenDirectory"?: string
 1710
 1711				// Set M2_HOME variable
 1712				"mavenSetM2Home"?: bool
 1713
 1714				// Set MAVEN_OPTS to
 1715				"mavenOptions"?: string
 1716
 1717				// Authenticate with Artifacts feeds
 1718				"mavenAuthenticateFeed"?: bool
 1719
 1720				// Skip generating effective POM while authenticating with Artifacts feeds
 1721				"effectivePomSkip"?: bool
 1722
 1723				// Run SonarQube or SonarCloud analysis
 1724				"sonarQubeRunAnalysis"?: bool
 1725
 1726				// Use XML Jacoco reports for SonarQube analysis
 1727				"isJacocoCoverageReportXML"?: bool
 1728
 1729				// SonarQube scanner for Maven version
 1730				"sqMavenPluginVersionChoice"?: "latest" | "pom"
 1731
 1732				// Run Checkstyle
 1733				"checkStyleRunAnalysis"?: bool
 1734
 1735				// Run PMD
 1736				"pmdRunAnalysis"?: bool
 1737
 1738				// Run FindBugs
 1739				"findBugsRunAnalysis"?: bool
 1740
 1741				// Run SpotBugs analysis
 1742				"spotBugsRunAnalysis"?: bool
 1743
 1744				// Version number
 1745				"spotBugsVersion"?: string
 1746
 1747				// The goal for the spotbugs plugin
 1748				"spotBugsGoal"?: "spotbugs" | "check"
 1749
 1750				// Fail when bugs are found with spotbugs:check
 1751				"failWhenBugsFound"?: bool
 1752			})
 1753			...
 1754		},
 1755		{
 1756			// Maven
 1757			//
 1758			// Build with Apache Maven
 1759			"task"!: null | bool | number | =~"^Maven@1$" | [...] | {...}
 1760
 1761			// Maven inputs
 1762			"inputs"?: null |
 1763			bool |
 1764			number |
 1765			string |
 1766			[...] |
 1767			close({
 1768				// Maven POM file
 1769				"mavenPomFile"?: string
 1770
 1771				// Goal(s)
 1772				"goals"?: string
 1773
 1774				// Options
 1775				"options"?: string
 1776
 1777				// Publish to TFS/Team Services
 1778				"publishJUnitResults"?: bool
 1779
 1780				// Test Results Files
 1781				"testResultsFiles"?: string
 1782
 1783				// Test Run Title
 1784				"testRunTitle"?: string
 1785
 1786				// Code Coverage Tool
 1787				"codeCoverageToolOption"?: "None" | "Cobertura" | "JaCoCo"
 1788
 1789				// Class Inclusion/Exclusion Filters
 1790				"codeCoverageClassFilter"?: string
 1791
 1792				// Class Files Directories
 1793				"codeCoverageClassFilesDirectories"?: string
 1794
 1795				// Source Files Directories
 1796				"codeCoverageSourceDirectories"?: string
 1797
 1798				// Fail When Code Coverage Results Are Missing
 1799				"codeCoverageFailIfEmpty"?: bool
 1800
 1801				// Set JAVA_HOME by
 1802				"javaHomeOption"?: "JDKVersion" | "Path"
 1803
 1804				// JDK Version
 1805				"jdkVersionOption"?: "default" | "1.9" | "1.8" | "1.7" | "1.6"
 1806
 1807				// JDK Path
 1808				"jdkDirectory"?: string
 1809
 1810				// JDK Architecture
 1811				"jdkArchitectureOption"?: "x86" | "x64"
 1812
 1813				// Maven Version
 1814				"mavenVersionOption"?: "Default" | "Path"
 1815
 1816				// Maven Path
 1817				"mavenDirectory"?: string
 1818
 1819				// Set M2_HOME variable
 1820				"mavenSetM2Home"?: bool
 1821
 1822				// Set MAVEN_OPTS to
 1823				"mavenOptions"?: string
 1824
 1825				// Authenticate built-in Maven feeds
 1826				"mavenAuthenticateFeed"?: bool
 1827
 1828				// Run SonarQube Analysis
 1829				"sonarQubeRunAnalysis"?: bool
 1830
 1831				// SonarQube Endpoint
 1832				"sonarQubeServiceEndpoint"?: string
 1833
 1834				// SonarQube Project Name
 1835				"sonarQubeProjectName"?: string
 1836
 1837				// SonarQube Project Key
 1838				"sonarQubeProjectKey"?: string
 1839
 1840				// SonarQube Project Version
 1841				"sonarQubeProjectVersion"?: string
 1842
 1843				// The SonarQube server version is lower than 5.2
 1844				"sonarQubeSpecifyDB"?: bool
 1845
 1846				// Db Connection String
 1847				"sonarQubeDBUrl"?: string
 1848
 1849				// Db Username
 1850				"sonarQubeDBUsername"?: string
 1851
 1852				// Db User Password
 1853				"sonarQubeDBPassword"?: string
 1854
 1855				// Include full analysis report in the build summary (SQ 5.3+)
 1856				"sonarQubeIncludeFullReport"?: bool
 1857
 1858				// Fail the build on quality gate failure (SQ 5.3+)
 1859				"sonarQubeFailWhenQualityGateFails"?: bool
 1860
 1861				// Run Checkstyle
 1862				"checkStyleRunAnalysis"?: bool
 1863
 1864				// Run PMD
 1865				"pmdRunAnalysis"?: bool
 1866
 1867				// Run FindBugs
 1868				"findBugsRunAnalysis"?: bool
 1869			})
 1870			...
 1871		},
 1872		{
 1873			// .NET Core
 1874			//
 1875			// Build, test, package, or publish a dotnet application, or run a custom dotnet command
 1876			"task"!: null | bool | number | =~"^DotNetCoreCLI@2$" | [...] | {...}
 1877
 1878			// .NET Core inputs
 1879			"inputs"?: null |
 1880			bool |
 1881			number |
 1882			string |
 1883			[...] |
 1884			close({
 1885				// Azure Resource Manager connection
 1886				"azureSubscription"?: string
 1887
 1888				// Command
 1889				"command"?: "build" | "push" | "pack" | "publish" | "restore" | "run" | "test" | "custom"
 1890
 1891				// Publish web projects
 1892				"publishWebProjects"?: bool
 1893
 1894				// Path to project(s) or solution(s)
 1895				"projects"?: string
 1896
 1897				// Custom command
 1898				"custom"?: string
 1899
 1900				// Arguments
 1901				"arguments"?: string
 1902
 1903				// Arguments
 1904				"restoreArguments"?: string
 1905
 1906				// Publish test results and code coverage
 1907				"publishTestResults"?: bool
 1908
 1909				// Test run title
 1910				"testRunTitle"?: string
 1911
 1912				// Zip published projects
 1913				"zipAfterPublish"?: bool
 1914
 1915				// Add project's folder name to publish path
 1916				"modifyOutputPath"?: bool
 1917
 1918				// Feeds to use
 1919				"feedsToUse"?: "select" | "config"
 1920
 1921				// Use packages from this Azure Artifacts feed. Select from the dropdown or
 1922				// enter [project name/]feed name.
 1923				"vstsFeed"?: string
 1924
 1925				// Use packages from NuGet.org
 1926				"includeNuGetOrg"?: bool
 1927
 1928				// Path to NuGet.config
 1929				"nugetConfigPath"?: string
 1930
 1931				// Credentials for feeds outside this organization/collection
 1932				"externalFeedCredentials"?: string
 1933
 1934				// Disable local cache
 1935				"noCache"?: bool
 1936
 1937				// Destination directory
 1938				"restoreDirectory"?: string
 1939
 1940				// Verbosity
 1941				"verbosityRestore"?: "-" | "Quiet" | "Minimal" | "Normal" | "Detailed" | "Diagnostic"
 1942
 1943				// Path to NuGet package(s) to publish
 1944				"packagesToPush"?: string
 1945
 1946				// Target feed location
 1947				"nuGetFeedType"?: "internal" | "external"
 1948
 1949				// Target feed
 1950				"publishVstsFeed"?: string
 1951
 1952				// Publish pipeline metadata
 1953				"publishPackageMetadata"?: bool
 1954
 1955				// NuGet server
 1956				"publishFeedCredentials"?: string
 1957
 1958				// Path to csproj or nuspec file(s) to pack
 1959				"packagesToPack"?: string
 1960
 1961				// Configuration to Package
 1962				"configuration"?: string
 1963
 1964				// Package Folder
 1965				"packDirectory"?: string
 1966
 1967				// Do not build
 1968				"nobuild"?: bool
 1969
 1970				// Include Symbols
 1971				"includesymbols"?: bool
 1972
 1973				// Include Source
 1974				"includesource"?: bool
 1975
 1976				// Automatic package versioning
 1977				"versioningScheme"?: "off" | "byPrereleaseNumber" | "byEnvVar" | "byBuildNumber"
 1978
 1979				// Environment variable
 1980				"versionEnvVar"?: string
 1981
 1982				// Major
 1983				"majorVersion"?: string
 1984
 1985				// Minor
 1986				"minorVersion"?: string
 1987
 1988				// Patch
 1989				"patchVersion"?: string
 1990
 1991				// Additional build properties
 1992				"buildProperties"?: string
 1993
 1994				// Verbosity
 1995				"verbosityPack"?: "-" | "Quiet" | "Minimal" | "Normal" | "Detailed" | "Diagnostic"
 1996
 1997				// Working directory
 1998				"workingDirectory"?: string
 1999
 2000				// Set timeout for package download request
 2001				"requestTimeout"?: int
 2002			})
 2003			...
 2004		},
 2005		{
 2006			// .NET Core (PREVIEW)
 2007			//
 2008			// Build, test and publish using dotnet core command-line.
 2009			"task"!: null | bool | number | =~"^DotNetCoreCLI@0$" | [...] | {...}
 2010
 2011			// .NET Core (PREVIEW) inputs
 2012			"inputs"?: null |
 2013			bool |
 2014			number |
 2015			string |
 2016			[...] |
 2017			close({
 2018				// Command
 2019				"command"?: "build" | "publish" | "restore" | "test" | "run"
 2020
 2021				// Publish Web Projects
 2022				"publishWebProjects"?: bool
 2023
 2024				// Project(s)
 2025				"projects"?: string
 2026
 2027				// Arguments
 2028				"arguments"?: string
 2029
 2030				// Zip Published Projects
 2031				"zipAfterPublish"?: bool
 2032			})
 2033			...
 2034		},
 2035		{
 2036			// .NET Core
 2037			//
 2038			// Build, test and publish using dotnet core command-line.
 2039			"task"!: null | bool | number | =~"^DotNetCoreCLI@1$" | [...] | {...}
 2040
 2041			// .NET Core inputs
 2042			"inputs"?: null |
 2043			bool |
 2044			number |
 2045			string |
 2046			[...] |
 2047			close({
 2048				// Command
 2049				"command"?: "build" | "publish" | "restore" | "test" | "run"
 2050
 2051				// Publish Web Projects
 2052				"publishWebProjects"?: bool
 2053
 2054				// Project(s)
 2055				"projects"?: string
 2056
 2057				// Arguments
 2058				"arguments"?: string
 2059
 2060				// Zip Published Projects
 2061				"zipAfterPublish"?: bool
 2062			})
 2063			...
 2064		},
 2065		{
 2066			// Xamarin Component Restore
 2067			//
 2068			// This task is deprecated. Use 'NuGet' instead.
 2069			"task"!: null | bool | number | =~"^XamarinComponentRestore@0$" | [...] | {...}
 2070
 2071			// Xamarin Component Restore inputs
 2072			"inputs"!: null |
 2073			bool |
 2074			number |
 2075			string |
 2076			[...] |
 2077			close({
 2078				// Path to solution
 2079				"solutionFile"?: string
 2080
 2081				// Email
 2082				"email"!: string
 2083
 2084				// Password
 2085				"password"!: string
 2086			})
 2087			...
 2088		},
 2089		{
 2090			// Azure App Service deploy
 2091			//
 2092			// Deploy to Azure App Service a web, mobile, or API app using Docker, Java,
 2093			// .NET, .NET Core, Node.js, PHP, Python, or Ruby
 2094			"task"!: null | bool | number | =~"^AzureRmWebAppDeployment@4$" | [...] | {...}
 2095
 2096			// Azure App Service deploy inputs
 2097			"inputs"?: null |
 2098			bool |
 2099			number |
 2100			string |
 2101			[...] |
 2102			close({
 2103				// Connection type
 2104				"ConnectionType"?: "AzureRM" | "PublishProfile"
 2105
 2106				// Azure subscription
 2107				"azureSubscription"?: string
 2108
 2109				// Publish profile path
 2110				"PublishProfilePath"?: string
 2111
 2112				// Publish profile password
 2113				"PublishProfilePassword"?: string
 2114
 2115				// App Service type
 2116				"appType"?: "webApp" |
 2117					"webAppLinux" |
 2118					"webAppContainer" |
 2119					"webAppHyperVContainer" |
 2120					"functionApp" |
 2121					"functionAppLinux" |
 2122					"functionAppContainer" |
 2123					"apiApp" |
 2124					"mobileApp"
 2125
 2126				// App Service name
 2127				"WebAppName"?: string
 2128
 2129				// Deploy to Slot or App Service Environment
 2130				"deployToSlotOrASE"?: bool
 2131
 2132				// Resource group
 2133				"ResourceGroupName"?: string
 2134
 2135				// Slot
 2136				"SlotName"?: string
 2137
 2138				// Registry or Namespace
 2139				"DockerNamespace"?: string
 2140
 2141				// Image
 2142				"DockerRepository"?: string
 2143
 2144				// Tag
 2145				"DockerImageTag"?: string
 2146
 2147				// Virtual application
 2148				"VirtualApplication"?: string
 2149
 2150				// Package or folder
 2151				"packageForLinux"?: string
 2152
 2153				// Runtime Stack
 2154				"RuntimeStack"?: string
 2155
 2156				// Runtime Stack
 2157				"RuntimeStackFunction"?: "DOTNET|2.2" |
 2158					"DOTNET|3.1" |
 2159					"JAVA|8" |
 2160					"JAVA|11" |
 2161					"NODE|8" |
 2162					"NODE|10" |
 2163					"NODE|12" |
 2164					"NODE|14" |
 2165					"NODE|20" |
 2166					"NODE|22" |
 2167					"PYTHON|3.6" |
 2168					"PYTHON|3.7" |
 2169					"PYTHON|3.8"
 2170
 2171				// Startup command
 2172				"StartupCommand"?: string
 2173
 2174				// Deployment script type
 2175				"ScriptType"?: "" | "Inline Script" | "File Path"
 2176
 2177				// Inline Script
 2178				"InlineScript"?: string
 2179
 2180				// Deployment script path
 2181				"ScriptPath"?: string
 2182
 2183				// Generate web.config parameters for Python, Node.js, Go and Java apps
 2184				"WebConfigParameters"?: string
 2185
 2186				// App settings
 2187				"AppSettings"?: string
 2188
 2189				// Configuration settings
 2190				"ConfigurationSettings"?: string
 2191
 2192				// Select deployment method
 2193				"enableCustomDeployment"?: bool
 2194
 2195				// Deployment method
 2196				"DeploymentType"?: "webDeploy" | "zipDeploy" | "runFromZip"
 2197
 2198				// Take App Offline
 2199				"TakeAppOfflineFlag"?: bool
 2200
 2201				// SetParameters file
 2202				"SetParametersFile"?: string
 2203
 2204				// Remove additional files at destination
 2205				"RemoveAdditionalFilesFlag"?: bool
 2206
 2207				// Exclude files from the App_Data folder
 2208				"ExcludeFilesFromAppDataFlag"?: bool
 2209
 2210				// Additional arguments
 2211				"AdditionalArguments"?: string
 2212
 2213				// Rename locked files
 2214				"RenameFilesFlag"?: bool
 2215
 2216				// XML transformation
 2217				"enableXmlTransform"?: bool
 2218
 2219				// XML variable substitution
 2220				"enableXmlVariableSubstitution"?: bool
 2221
 2222				// JSON variable substitution
 2223				"JSONFiles"?: string
 2224			})
 2225			...
 2226		},
 2227		{
 2228			// Azure App Service Deploy
 2229			//
 2230			// Update Azure App Service using Web Deploy / Kudu REST APIs
 2231			"task"!: null | bool | number | =~"^AzureRmWebAppDeployment@2$" | [...] | {...}
 2232
 2233			// Azure App Service Deploy inputs
 2234			"inputs"!: null |
 2235			bool |
 2236			number |
 2237			string |
 2238			[...] |
 2239			close({
 2240				// Azure Subscription
 2241				"ConnectedServiceName"!: string
 2242
 2243				// App Service name
 2244				"WebAppName"!: string
 2245
 2246				// Deploy to slot
 2247				"DeployToSlotFlag"?: bool
 2248
 2249				// Resource group
 2250				"ResourceGroupName"?: string
 2251
 2252				// Slot
 2253				"SlotName"?: string
 2254
 2255				// Virtual Application
 2256				"VirtualApplication"?: string
 2257
 2258				// Package or Folder
 2259				"Package"?: string
 2260
 2261				// App Service URL
 2262				"WebAppUri"?: string
 2263
 2264				// Publish using Web Deploy
 2265				"UseWebDeploy"?: bool
 2266
 2267				// SetParameters File
 2268				"SetParametersFile"?: string
 2269
 2270				// Remove Additional Files at Destination
 2271				"RemoveAdditionalFilesFlag"?: bool
 2272
 2273				// Exclude Files from the App_Data Folder
 2274				"ExcludeFilesFromAppDataFlag"?: bool
 2275
 2276				// Additional Arguments
 2277				"AdditionalArguments"?: string
 2278
 2279				// Take App Offline
 2280				"TakeAppOfflineFlag"?: bool
 2281			})
 2282			...
 2283		},
 2284		{
 2285			// Azure App Service deploy
 2286			//
 2287			// Deploy to Azure App Service a web, mobile, or API app using Docker, Java,
 2288			// .NET, .NET Core, Node.js, PHP, Python, or Ruby
 2289			"task"!: null | bool | number | =~"^AzureRmWebAppDeployment@5$" | [...] | {...}
 2290
 2291			// Azure App Service deploy inputs
 2292			"inputs"?: null |
 2293			bool |
 2294			number |
 2295			string |
 2296			[...] |
 2297			close({
 2298				// Connection type
 2299				"ConnectionType"?: "AzureRM" | "PublishProfile"
 2300
 2301				// Azure subscription
 2302				"azureSubscription"?: string
 2303
 2304				// Publish profile path
 2305				"PublishProfilePath"?: string
 2306
 2307				// Publish profile password
 2308				"PublishProfilePassword"?: string
 2309
 2310				// App Service type
 2311				"appType"?: "webApp" |
 2312					"webAppLinux" |
 2313					"webAppContainer" |
 2314					"webAppHyperVContainer" |
 2315					"functionApp" |
 2316					"functionAppLinux" |
 2317					"functionAppContainer" |
 2318					"apiApp" |
 2319					"mobileApp"
 2320
 2321				// App Service name
 2322				"WebAppName"?: string
 2323
 2324				// Deploy to Slot or App Service Environment
 2325				"deployToSlotOrASE"?: bool
 2326
 2327				// Resource group
 2328				"ResourceGroupName"?: string
 2329
 2330				// Slot
 2331				"SlotName"?: string
 2332
 2333				// Registry or Namespace
 2334				"DockerNamespace"?: string
 2335
 2336				// Image
 2337				"DockerRepository"?: string
 2338
 2339				// Tag
 2340				"DockerImageTag"?: string
 2341
 2342				// Virtual application
 2343				"VirtualApplication"?: string
 2344
 2345				// Package or folder
 2346				"packageForLinux"?: string
 2347
 2348				// Runtime Stack
 2349				"RuntimeStack"?: "DOTNETCORE|9.0" |
 2350					"DOTNETCORE|8.0" |
 2351					"DOTNETCORE|7.0" |
 2352					"DOTNETCORE|6.0" |
 2353					"NODE|22-lts" |
 2354					"NODE|20-lts" |
 2355					"NODE|18-lts" |
 2356					"NODE|16-lts" |
 2357					"PYTHON|3.13" |
 2358					"PYTHON|3.12" |
 2359					"PYTHON|3.11" |
 2360					"PYTHON|3.10" |
 2361					"PYTHON|3.9" |
 2362					"PYTHON|3.8" |
 2363					"PHP|8.3" |
 2364					"PHP|8.2" |
 2365					"PHP|8.1" |
 2366					"PHP|8.0" |
 2367					"JAVA|21-java21" |
 2368					"JAVA|17-java17" |
 2369					"JAVA|11-java11" |
 2370					"JAVA|8-jre8" |
 2371					"JBOSSEAP|8-java17" |
 2372					"JBOSSEAP|8-java11" |
 2373					"JBOSSEAP|7-java17" |
 2374					"JBOSSEAP|7-java11" |
 2375					"JBOSSEAP|7-java8" |
 2376					"TOMCAT|10.1-java21" |
 2377					"TOMCAT|10.1-java17" |
 2378					"TOMCAT|10.1-java11" |
 2379					"TOMCAT|10.0-java17" |
 2380					"TOMCAT|10.0-java11" |
 2381					"TOMCAT|10.0-jre8" |
 2382					"TOMCAT|9.0-java21" |
 2383					"TOMCAT|9.0-java17" |
 2384					"TOMCAT|9.0-java11" |
 2385					"TOMCAT|9.0-jre8" |
 2386					"TOMCAT|8.5-java11" |
 2387					"TOMCAT|8.5-jre8"
 2388
 2389				// Runtime Stack
 2390				"RuntimeStackFunction"?: "DOTNET|2.2" |
 2391					"DOTNET|3.1" |
 2392					"JAVA|8" |
 2393					"JAVA|11" |
 2394					"NODE|8" |
 2395					"NODE|10" |
 2396					"NODE|12" |
 2397					"NODE|14" |
 2398					"NODE|20" |
 2399					"NODE|22" |
 2400					"PYTHON|3.6" |
 2401					"PYTHON|3.7" |
 2402					"PYTHON|3.8"
 2403
 2404				// Startup command
 2405				"StartupCommand"?: string
 2406
 2407				// Deployment script type
 2408				"ScriptType"?: "" | "Inline Script" | "File Path"
 2409
 2410				// Inline Script
 2411				"InlineScript"?: string
 2412
 2413				// Deployment script path
 2414				"ScriptPath"?: string
 2415
 2416				// Generate web.config parameters for Python, Node.js, Go and Java apps
 2417				"WebConfigParameters"?: string
 2418
 2419				// App settings
 2420				"AppSettings"?: string
 2421
 2422				// Configuration settings
 2423				"ConfigurationSettings"?: string
 2424
 2425				// Select deployment method
 2426				"enableCustomDeployment"?: bool
 2427
 2428				// Deployment method
 2429				"DeploymentType"?: "webDeploy" | "zipDeploy" | "runFromZip"
 2430
 2431				// Take App Offline
 2432				"TakeAppOfflineFlag"?: bool
 2433
 2434				// SetParameters file
 2435				"SetParametersFile"?: string
 2436
 2437				// Remove additional files at destination
 2438				"RemoveAdditionalFilesFlag"?: bool
 2439
 2440				// Exclude files from the App_Data folder
 2441				"ExcludeFilesFromAppDataFlag"?: bool
 2442
 2443				// Additional arguments
 2444				"AdditionalArguments"?: string
 2445
 2446				// Rename locked files
 2447				"RenameFilesFlag"?: bool
 2448
 2449				// XML transformation
 2450				"enableXmlTransform"?: bool
 2451
 2452				// XML variable substitution
 2453				"enableXmlVariableSubstitution"?: bool
 2454
 2455				// JSON variable substitution
 2456				"JSONFiles"?: string
 2457
 2458				// Deployment method
 2459				"DeploymentTypeLinux"?: "oneDeploy" | "zipDeploy"
 2460
 2461				// Enable clean deployment
 2462				"CleanDeploymentFlag"?: bool
 2463			})
 2464			...
 2465		},
 2466		{
 2467			// Azure App Service deploy
 2468			//
 2469			// Deploy to Azure App Service a web, mobile, or API app using Docker, Java,
 2470			// .NET, .NET Core, Node.js, PHP, Python, or Ruby
 2471			"task"!: null | bool | number | =~"^AzureRmWebAppDeployment@3$" | [...] | {...}
 2472
 2473			// Azure App Service deploy inputs
 2474			"inputs"!: null |
 2475			bool |
 2476			number |
 2477			string |
 2478			[...] |
 2479			close({
 2480				// Azure subscription
 2481				"azureSubscription"!: string
 2482
 2483				// App type
 2484				"appType"?: "app" | "applinux" | "functionapp" | "api" | "mobileapp"
 2485
 2486				// App Service name
 2487				"WebAppName"!: string
 2488
 2489				// Deploy to slot
 2490				"DeployToSlotFlag"?: bool
 2491
 2492				// Resource group
 2493				"ResourceGroupName"?: string
 2494
 2495				// Slot
 2496				"SlotName"?: string
 2497
 2498				// Image Source
 2499				"ImageSource"?: "Registry" | "Builtin"
 2500
 2501				// Registry
 2502				"AzureContainerRegistry"?: string
 2503
 2504				// Registry Login Server Name
 2505				"AzureContainerRegistryLoginServer"?: string
 2506
 2507				// Image
 2508				"AzureContainerRegistryImage"?: string
 2509
 2510				// Tag
 2511				"AzureContainerRegistryTag"?: string
 2512
 2513				// Repository Access
 2514				"DockerRepositoryAccess"?: "private" | "public"
 2515
 2516				// Registry Connection
 2517				"dockerRegistryConnection"?: string
 2518
 2519				// Image
 2520				"PrivateRegistryImage"?: string
 2521
 2522				// Tag
 2523				"PrivateRegistryTag"?: string
 2524
 2525				// Registry or Namespace
 2526				"DockerNamespace"?: string
 2527
 2528				// Image
 2529				"DockerRepository"?: string
 2530
 2531				// Tag
 2532				"DockerImageTag"?: string
 2533
 2534				// Virtual application
 2535				"VirtualApplication"?: string
 2536
 2537				// Package or folder
 2538				"Package"?: string
 2539
 2540				// Package or folder
 2541				"packageForLinux"?: string
 2542
 2543				// Runtime Stack
 2544				"RuntimeStack"?: string
 2545
 2546				// Startup command
 2547				"StartupCommand"?: string
 2548
 2549				// App Service URL
 2550				"WebAppUri"?: string
 2551
 2552				// Deployment script type
 2553				"ScriptType"?: "" | "Inline Script" | "File Path"
 2554
 2555				// Inline Script
 2556				"InlineScript"?: string
 2557
 2558				// Deployment script path
 2559				"ScriptPath"?: string
 2560
 2561				// Generate Web.config
 2562				"GenerateWebConfig"?: bool
 2563
 2564				// Web.config parameters
 2565				"WebConfigParameters"?: string
 2566
 2567				// App settings
 2568				"AppSettings"?: string
 2569
 2570				// Configuration settings
 2571				"ConfigurationSettings"?: string
 2572
 2573				// Take App Offline
 2574				"TakeAppOfflineFlag"?: bool
 2575
 2576				// Publish using Web Deploy
 2577				"UseWebDeploy"?: bool
 2578
 2579				// SetParameters file
 2580				"SetParametersFile"?: string
 2581
 2582				// Remove additional files at destination
 2583				"RemoveAdditionalFilesFlag"?: bool
 2584
 2585				// Exclude files from the App_Data folder
 2586				"ExcludeFilesFromAppDataFlag"?: bool
 2587
 2588				// Additional arguments
 2589				"AdditionalArguments"?: string
 2590
 2591				// Rename locked files
 2592				"RenameFilesFlag"?: bool
 2593
 2594				// XML transformation
 2595				"enableXmlTransform"?: bool
 2596
 2597				// XML variable substitution
 2598				"enableXmlVariableSubstitution"?: bool
 2599
 2600				// JSON variable substitution
 2601				"JSONFiles"?: string
 2602			})
 2603			...
 2604		},
 2605		{
 2606			// PowerShell on target machines
 2607			//
 2608			// Execute PowerShell scripts on remote machines using PSSession and Invoke-Command for remoting
 2609			"task"!: null | bool | number | =~"^PowerShellOnTargetMachines@3$" | [...] | {...}
 2610
 2611			// PowerShell on target machines inputs
 2612			"inputs"!: null |
 2613			bool |
 2614			number |
 2615			string |
 2616			[...] |
 2617			close({
 2618				// Machines
 2619				"Machines"!: string
 2620
 2621				// Username
 2622				"UserName"?: string
 2623
 2624				// Password
 2625				"UserPassword"?: string
 2626
 2627				// Script Type
 2628				"ScriptType"?: "FilePath" | "Inline"
 2629
 2630				// Script File Path
 2631				"ScriptPath"?: string
 2632
 2633				// Script
 2634				"InlineScript"?: string
 2635
 2636				// Script Arguments
 2637				"ScriptArguments"?: string
 2638
 2639				// Initialization script
 2640				"InitializationScript"?: string
 2641
 2642				// Session Variables
 2643				"SessionVariables"?: string
 2644
 2645				// Protocol
 2646				"CommunicationProtocol"?: "Http" | "Https"
 2647
 2648				// Authentication
 2649				"AuthenticationMechanism"?: "Default" | "Credssp"
 2650
 2651				// Session Option parameters
 2652				"NewPsSessionOptionArguments"?: string
 2653
 2654				// ErrorActionPreference
 2655				"ErrorActionPreference"?: "stop" | "continue" | "silentlyContinue"
 2656
 2657				// Fail on Standard Error
 2658				"failOnStderr"?: bool
 2659
 2660				// Ignore $LASTEXITCODE
 2661				"ignoreLASTEXITCODE"?: bool
 2662
 2663				// Working Directory
 2664				"WorkingDirectory"?: string
 2665
 2666				// Run PowerShell in Parallel
 2667				"RunPowershellInParallel"?: bool
 2668			})
 2669			...
 2670		},
 2671		{
 2672			// PowerShell on Target Machines
 2673			//
 2674			// Execute PowerShell scripts on remote machine(s)
 2675			"task"!: null | bool | number | =~"^PowerShellOnTargetMachines@1$" | [...] | {...}
 2676
 2677			// PowerShell on Target Machines inputs
 2678			"inputs"!: null |
 2679			bool |
 2680			number |
 2681			string |
 2682			[...] |
 2683			close({
 2684				// Machines
 2685				"EnvironmentName"!: string
 2686
 2687				// Admin Login
 2688				"AdminUserName"?: string
 2689
 2690				// Password
 2691				"AdminPassword"?: string
 2692
 2693				// Protocol
 2694				"Protocol"?: "Http" | "Https"
 2695
 2696				// Test Certificate
 2697				"TestCertificate"?: bool
 2698
 2699				// PowerShell Script
 2700				"ScriptPath"!: string
 2701
 2702				// Script Arguments
 2703				"ScriptArguments"?: string
 2704
 2705				// Initialization Script
 2706				"InitializationScriptPath"?: string
 2707
 2708				// Session Variables
 2709				"SessionVariables"?: string
 2710
 2711				// Run PowerShell in Parallel
 2712				"RunPowershellInParallel"?: bool
 2713
 2714				// Select Machines By
 2715				"ResourceFilteringMethod"?: "machineNames" | "tags"
 2716
 2717				// Filter Criteria
 2718				"MachineNames"?: string
 2719			})
 2720			...
 2721		},
 2722		{
 2723			// PowerShell on Target Machines
 2724			//
 2725			// Execute PowerShell scripts on remote machine(s)
 2726			"task"!: null | bool | number | =~"^PowerShellOnTargetMachines@2$" | [...] | {...}
 2727
 2728			// PowerShell on Target Machines inputs
 2729			"inputs"!: null |
 2730			bool |
 2731			number |
 2732			string |
 2733			[...] |
 2734			close({
 2735				// Machines
 2736				"EnvironmentName"!: string
 2737
 2738				// Admin Login
 2739				"AdminUserName"?: string
 2740
 2741				// Password
 2742				"AdminPassword"?: string
 2743
 2744				// Protocol
 2745				"Protocol"?: "Http" | "Https"
 2746
 2747				// Test Certificate
 2748				"TestCertificate"?: bool
 2749
 2750				// PowerShell Script
 2751				"ScriptPath"!: string
 2752
 2753				// Script Arguments
 2754				"ScriptArguments"?: string
 2755
 2756				// Initialization Script
 2757				"InitializationScriptPath"?: string
 2758
 2759				// Session Variables
 2760				"SessionVariables"?: string
 2761
 2762				// Run PowerShell in Parallel
 2763				"RunPowershellInParallel"?: bool
 2764
 2765				// Select Machines By
 2766				"ResourceFilteringMethod"?: "machineNames" | "tags"
 2767
 2768				// Filter Criteria
 2769				"MachineNames"?: string
 2770			})
 2771			...
 2772		},
 2773		{
 2774			// Publish code coverage
 2775			//
 2776			// Publish Cobertura or JaCoCo code coverage results from a build
 2777			"task"!: null | bool | number | =~"^PublishCodeCoverageResults@1$" | [...] | {...}
 2778
 2779			// Publish code coverage inputs
 2780			"inputs"!: null |
 2781			bool |
 2782			number |
 2783			string |
 2784			[...] |
 2785			close({
 2786				// Code coverage tool
 2787				"codeCoverageTool"?: "Cobertura" | "JaCoCo"
 2788
 2789				// Summary file
 2790				"summaryFileLocation"!: string
 2791
 2792				// Path to Source files
 2793				"pathToSources"?: string
 2794
 2795				// Report directory
 2796				"reportDirectory"?: string
 2797
 2798				// Additional files
 2799				"additionalCodeCoverageFiles"?: string
 2800
 2801				// Fail when code coverage results are missing
 2802				"failIfCoverageEmpty"?: bool
 2803			})
 2804			...
 2805		},
 2806		{
 2807			// Run functional tests
 2808			//
 2809			// Deprecated: This task and it’s companion task (Visual Studio Test Agent
 2810			// Deployment) are deprecated. Use the 'Visual Studio Test' task instead. The
 2811			// VSTest task can run unit as well as functional tests. Run tests on one or
 2812			// more agents using the multi-agent job setting. Use the 'Visual Studio Test
 2813			// Platform' task to run tests without needing Visual Studio on the agent.
 2814			// VSTest task also brings new capabilities such as automatically rerunning
 2815			// failed tests.
 2816			"task"!: null | bool | number | =~"^RunVisualStudioTestsusingTestAgent@1$" | [...] | {...}
 2817
 2818			// Run functional tests inputs
 2819			"inputs"!: null |
 2820			bool |
 2821			number |
 2822			string |
 2823			[...] |
 2824			close({
 2825				// Machines
 2826				"testMachineGroup"!: string
 2827
 2828				// Test Drop Location
 2829				"dropLocation"!: string
 2830
 2831				// Test Selection
 2832				"testSelection"?: "testAssembly" | "testPlan"
 2833
 2834				// Test Plan
 2835				"testPlan"?: string
 2836
 2837				// Test Suite
 2838				"testSuite"?: string
 2839
 2840				// Test Configuration
 2841				"testConfiguration"?: string
 2842
 2843				// Test Assembly
 2844				"sourcefilters"?: string
 2845
 2846				// Test Filter criteria
 2847				"testFilterCriteria"?: string
 2848
 2849				// Run Settings File
 2850				"runSettingsFile"?: string
 2851
 2852				// Override Test Run Parameters
 2853				"overrideRunParams"?: string
 2854
 2855				// Code Coverage Enabled
 2856				"codeCoverageEnabled"?: bool
 2857
 2858				// Distribute tests by number of machines
 2859				"customSlicingEnabled"?: bool
 2860
 2861				// Test Run Title
 2862				"testRunTitle"?: string
 2863
 2864				// Platform
 2865				"platform"?: string
 2866
 2867				// Configuration
 2868				"configuration"?: string
 2869
 2870				// Test Configurations
 2871				"testConfigurations"?: string
 2872
 2873				// Application Under Test Machines
 2874				"autMachineGroup"?: string
 2875			})
 2876			...
 2877		},
 2878		{
 2879			// Manual intervention
 2880			//
 2881			// Pause deployment and wait for manual intervention
 2882			"task"!: null | bool | number | =~"^ManualIntervention@8$" | [...] | {...}
 2883
 2884			// Manual intervention inputs
 2885			"inputs"?: null |
 2886			bool |
 2887			number |
 2888			string |
 2889			[...] |
 2890			close({
 2891				// Instructions
 2892				"instructions"?: string
 2893
 2894				// Notify users
 2895				"emailRecipients"?: string
 2896
 2897				// On timeout
 2898				"onTimeout"?: "reject" | "resume"
 2899			})
 2900			...
 2901		},
 2902		{
 2903			// Install Apple provisioning profile
 2904			//
 2905			// Install an Apple provisioning profile required to build on a macOS agent machine
 2906			"task"!: null | bool | number | =~"^InstallAppleProvisioningProfile@1$" | [...] | {...}
 2907
 2908			// Install Apple provisioning profile inputs
 2909			"inputs"?: null |
 2910			bool |
 2911			number |
 2912			string |
 2913			[...] |
 2914			close({
 2915				// Provisioning profile location
 2916				"provisioningProfileLocation"?: "secureFiles" | "sourceRepository"
 2917
 2918				// Provisioning profile
 2919				"provProfileSecureFile"?: string
 2920
 2921				// Provisioning profile
 2922				"provProfileSourceRepository"?: string
 2923
 2924				// Remove profile after build
 2925				"removeProfile"?: bool
 2926			})
 2927			...
 2928		},
 2929		{
 2930			// Install Apple Provisioning Profile
 2931			//
 2932			// Install an Apple provisioning profile required to build on a macOS agent
 2933			"task"!: null | bool | number | =~"^InstallAppleProvisioningProfile@0$" | [...] | {...}
 2934
 2935			// Install Apple Provisioning Profile inputs
 2936			"inputs"!: null |
 2937			bool |
 2938			number |
 2939			string |
 2940			[...] |
 2941			close({
 2942				// Provisioning Profile
 2943				"provProfileSecureFile"!: string
 2944
 2945				// Remove Profile After Build
 2946				"removeProfile"?: bool
 2947			})
 2948			...
 2949		},
 2950		{
 2951			// SonarQube for MSBuild - End Analysis
 2952			//
 2953			// [DEPRECATED] Finish the analysis and upload the results to SonarQube
 2954			"task"!: null | bool | number | =~"^SonarQubePostTest@1$" | [...] | {...}
 2955
 2956			// SonarQube for MSBuild - End Analysis inputs
 2957			"inputs"?: null | bool | number | string | [...] | close({})
 2958			...
 2959		},
 2960		{
 2961			// PyPI publisher
 2962			//
 2963			// Create and upload an sdist or wheel to a PyPI-compatible index using Twine
 2964			"task"!: null | bool | number | =~"^PyPIPublisher@0$" | [...] | {...}
 2965
 2966			// PyPI publisher inputs
 2967			"inputs"!: null |
 2968			bool |
 2969			number |
 2970			string |
 2971			[...] |
 2972			close({
 2973				// PyPI service connection
 2974				"pypiConnection"!: string
 2975
 2976				// Python package directory
 2977				"packageDirectory"!: string
 2978
 2979				// Also publish a wheel
 2980				"alsoPublishWheel"?: bool
 2981			})
 2982			...
 2983		},
 2984		{
 2985			// Chef Knife
 2986			//
 2987			// Run scripts with Knife commands on your Chef workstation
 2988			"task"!: null | bool | number | =~"^ChefKnife@1$" | [...] | {...}
 2989
 2990			// Chef Knife inputs
 2991			"inputs"!: null |
 2992			bool |
 2993			number |
 2994			string |
 2995			[...] |
 2996			close({
 2997				// Chef Subscription
 2998				"ConnectedServiceName"!: string
 2999
 3000				// Script Path
 3001				"ScriptPath"!: string
 3002
 3003				// Script Arguments
 3004				"ScriptArguments"?: string
 3005			})
 3006			...
 3007		},
 3008		{
 3009			// Go tool installer
 3010			//
 3011			// Find in cache or download a specific version of Go and add it to the PATH
 3012			"task"!: null | bool | number | =~"^GoTool@0$" | [...] | {...}
 3013
 3014			// Go tool installer inputs
 3015			"inputs"?: null |
 3016			bool |
 3017			number |
 3018			string |
 3019			[...] |
 3020			close({
 3021				// Version
 3022				"version"?: string
 3023
 3024				// GOPATH
 3025				"goPath"?: string
 3026
 3027				// GOBIN
 3028				"goBin"?: string
 3029			})
 3030			...
 3031		},
 3032		{
 3033			// Xcode Package iOS
 3034			//
 3035			// Generate an .ipa file from Xcode build output using xcrun (Xcode 7 or below)
 3036			"task"!: null | bool | number | =~"^XcodePackageiOS@0$" | [...] | {...}
 3037
 3038			// Xcode Package iOS inputs
 3039			"inputs"!: null |
 3040			bool |
 3041			number |
 3042			string |
 3043			[...] |
 3044			close({
 3045				// Name of .app
 3046				"appName"?: string
 3047
 3048				// Name of .ipa
 3049				"ipaName"?: string
 3050
 3051				// Provisioning Profile Name
 3052				"provisioningProfile"!: string
 3053
 3054				// SDK
 3055				"sdk"?: string
 3056
 3057				// Path to .app
 3058				"appPath"?: string
 3059
 3060				// Path to place .ipa
 3061				"ipaPath"?: string
 3062			})
 3063			...
 3064		},
 3065		{
 3066			// Go
 3067			//
 3068			// Get, build, or test a Go application, or run a custom Go command
 3069			"task"!: null | bool | number | =~"^Go@0$" | [...] | {...}
 3070
 3071			// Go inputs
 3072			"inputs"?: null |
 3073			bool |
 3074			number |
 3075			string |
 3076			[...] |
 3077			close({
 3078				// Command
 3079				"command"?: "get" | "build" | "test" | "custom"
 3080
 3081				// Custom command
 3082				"customCommand"?: string
 3083
 3084				// Arguments
 3085				"arguments"?: string
 3086
 3087				// Working directory
 3088				"workingDirectory"?: string
 3089			})
 3090			...
 3091		},
 3092		{
 3093			// Publish Pipeline Metadata
 3094			//
 3095			// Publish Pipeline Metadata to Evidence store
 3096			"task"!: null | bool | number | =~"^PublishPipelineMetadata@0$" | [...] | {...}
 3097
 3098			// Publish Pipeline Metadata inputs
 3099			"inputs"?: null | bool | number | string | [...] | close({})
 3100			...
 3101		},
 3102		{
 3103			// Docker
 3104			//
 3105			// Build, tag, push, or run Docker images, or run a Docker command
 3106			"task"!: null | bool | number | =~"^Docker@0$" | [...] | {...}
 3107
 3108			// Docker inputs
 3109			"inputs"?: null |
 3110			bool |
 3111			number |
 3112			string |
 3113			[...] |
 3114			close({
 3115				// Container Registry Type
 3116				"containerregistrytype"?: "Azure Container Registry" | "Container Registry"
 3117
 3118				// Docker Registry Service Connection
 3119				"dockerRegistryConnection"?: string
 3120
 3121				// Azure subscription
 3122				"azureSubscription"?: string
 3123
 3124				// Azure Container Registry
 3125				"azureContainerRegistry"?: string
 3126
 3127				// Action
 3128				"action"?: "Build an image" |
 3129					"Tag images" |
 3130					"Push an image" |
 3131					"Push images" |
 3132					"Run an image" |
 3133					"Run a Docker command"
 3134
 3135				// Docker File
 3136				"dockerFile"?: string
 3137
 3138				// Add base image metadata to image(s)
 3139				"addBaseImageData"?: bool
 3140
 3141				// Build Arguments
 3142				"buildArguments"?: string
 3143
 3144				// Use Default Build Context
 3145				"defaultContext"?: bool
 3146
 3147				// Build Context
 3148				"context"?: string
 3149
 3150				// Image Name
 3151				"imageName"?: string
 3152
 3153				// Image Names Path
 3154				"imageNamesPath"?: string
 3155
 3156				// Qualify Image Name
 3157				"qualifyImageName"?: bool
 3158
 3159				// Additional Image Tags
 3160				"additionalImageTags"?: string
 3161
 3162				// Include Source Tags
 3163				"includeSourceTags"?: bool
 3164
 3165				// Include Latest Tag
 3166				"includeLatestTag"?: bool
 3167
 3168				// Image Digest File
 3169				"imageDigestFile"?: string
 3170
 3171				// Container Name
 3172				"containerName"?: string
 3173
 3174				// Ports
 3175				"ports"?: string
 3176
 3177				// Volumes
 3178				"volumes"?: string
 3179
 3180				// Environment Variables
 3181				"envVars"?: string
 3182
 3183				// Working Directory
 3184				"workDir"?: string
 3185
 3186				// Entry Point Override
 3187				"entrypoint"?: string
 3188
 3189				// Command
 3190				"containerCommand"?: string
 3191
 3192				// Run In Background
 3193				"detached"?: bool
 3194
 3195				// Restart Policy
 3196				"restartPolicy"?: "no" | "onFailure" | "always" | "unlessStopped"
 3197
 3198				// Maximum Restart Retries
 3199				"restartMaxRetries"?: string
 3200
 3201				// Command
 3202				"customCommand"?: string
 3203
 3204				// Docker Host Service Connection
 3205				"dockerHostEndpoint"?: string
 3206
 3207				// Force image name to follow Docker naming convention
 3208				"enforceDockerNamingConvention"?: bool
 3209
 3210				// Working Directory
 3211				"workingDirectory"?: string
 3212
 3213				// Memory limit
 3214				"memory"?: string
 3215			})
 3216			...
 3217		},
 3218		{
 3219			// Docker
 3220			//
 3221			// Build or push Docker images, login or logout, start or stop containers, or run a Docker command
 3222			"task"!: null | bool | number | =~"^Docker@2$" | [...] | {...}
 3223
 3224			// Docker inputs
 3225			"inputs"?: null |
 3226			bool |
 3227			number |
 3228			string |
 3229			[...] |
 3230			close({
 3231				// Container registry
 3232				"containerRegistry"?: string
 3233
 3234				// Container repository
 3235				"repository"?: string
 3236
 3237				// Command
 3238				"command"?: "buildAndPush" | "build" | "push" | "login" | "logout" | "start" | "stop"
 3239
 3240				// Dockerfile
 3241				"Dockerfile"?: string
 3242
 3243				// Build context
 3244				"buildContext"?: string
 3245
 3246				// Tags
 3247				"tags"?: string
 3248
 3249				// Arguments
 3250				"arguments"?: string
 3251
 3252				// Add Pipeline metadata to image(s)
 3253				"addPipelineData"?: bool
 3254
 3255				// Add base image metadata to image(s)
 3256				"addBaseImageData"?: bool
 3257
 3258				// Container
 3259				"container"?: string
 3260			})
 3261			...
 3262		},
 3263		{
 3264			// Docker
 3265			//
 3266			// Build, tag, push, or run Docker images, or run a Docker command
 3267			"task"!: null | bool | number | =~"^Docker@1$" | [...] | {...}
 3268
 3269			// Docker inputs
 3270			"inputs"?: null |
 3271			bool |
 3272			number |
 3273			string |
 3274			[...] |
 3275			close({
 3276				// Container registry type
 3277				"containerregistrytype"?: "Azure Container Registry" | "Container Registry"
 3278
 3279				// Add base image metadata to image(s)
 3280				"addBaseImageData"?: bool
 3281
 3282				// Docker registry service connection
 3283				"dockerRegistryEndpoint"?: string
 3284
 3285				// Azure subscription
 3286				"azureSubscriptionEndpoint"?: string
 3287
 3288				// Azure container registry
 3289				"azureContainerRegistry"?: string
 3290
 3291				// Command
 3292				"command"?: "Build an image" | "Tag image" | "Push an image" | "Run an image" | "login" | "logout"
 3293
 3294				// Dockerfile
 3295				"dockerFile"?: string
 3296
 3297				// Arguments
 3298				"arguments"?: string
 3299
 3300				// Push multiple images
 3301				"pushMultipleImages"?: bool
 3302
 3303				// Tag multiple images
 3304				"tagMultipleImages"?: bool
 3305
 3306				// Image name
 3307				"imageName"?: string
 3308
 3309				// Image names path
 3310				"imageNamesPath"?: string
 3311
 3312				// Qualify image name
 3313				"qualifyImageName"?: bool
 3314
 3315				// Qualify source image name
 3316				"qualifySourceImageName"?: bool
 3317
 3318				// Include source tags
 3319				"includeSourceTags"?: bool
 3320
 3321				// Include latest tag
 3322				"includeLatestTag"?: bool
 3323
 3324				// Add default labels
 3325				"addDefaultLabels"?: bool
 3326
 3327				// Use default build context
 3328				"useDefaultContext"?: bool
 3329
 3330				// Build context
 3331				"buildContext"?: string
 3332
 3333				// Image digest file
 3334				"imageDigestFile"?: string
 3335
 3336				// Container name
 3337				"containerName"?: string
 3338
 3339				// Ports
 3340				"ports"?: string
 3341
 3342				// Volumes
 3343				"volumes"?: string
 3344
 3345				// Environment variables
 3346				"envVars"?: string
 3347
 3348				// Working directory
 3349				"workingDirectory"?: string
 3350
 3351				// Entry point override
 3352				"entrypointOverride"?: string
 3353
 3354				// Container command
 3355				"containerCommand"?: string
 3356
 3357				// Run in background
 3358				"runInBackground"?: bool
 3359
 3360				// Restart policy
 3361				"restartPolicy"?: "no" | "onFailure" | "always" | "unlessStopped"
 3362
 3363				// Maximum restart retries
 3364				"maxRestartRetries"?: string
 3365
 3366				// Docker host service connection
 3367				"dockerHostEndpoint"?: string
 3368
 3369				// Force image name to follow Docker naming convention
 3370				"enforceDockerNamingConvention"?: bool
 3371
 3372				// Memory limit
 3373				"memoryLimit"?: string
 3374			})
 3375			...
 3376		},
 3377		{
 3378			// Docker
 3379			//
 3380			// Build or push Docker images, login or logout, start or stop containers, or run a Docker command
 3381			"task"!: null | bool | number | =~"^Docker@2$" | [...] | {...}
 3382
 3383			// Docker inputs
 3384			"inputs"?: null |
 3385			bool |
 3386			number |
 3387			string |
 3388			[...] |
 3389			close({
 3390				// Container registry
 3391				"containerRegistry"?: string
 3392
 3393				// Container repository
 3394				"repository"?: string
 3395
 3396				// Command
 3397				"command"?: "buildAndPush" | "build" | "push" | "login" | "logout" | "start" | "stop"
 3398
 3399				// Dockerfile
 3400				"Dockerfile"?: string
 3401
 3402				// Build context
 3403				"buildContext"?: string
 3404
 3405				// Tags
 3406				"tags"?: string
 3407
 3408				// Arguments
 3409				"arguments"?: string
 3410
 3411				// Add Pipeline metadata to image(s)
 3412				"addPipelineData"?: bool
 3413
 3414				// Add base image metadata to image(s)
 3415				"addBaseImageData"?: bool
 3416
 3417				// Container
 3418				"container"?: string
 3419			})
 3420			...
 3421		},
 3422		{
 3423			// Jenkins Queue Job
 3424			//
 3425			// Queue a job on a Jenkins server
 3426			"task"!: null | bool | number | =~"^JenkinsQueueJob@1$" | [...] | {...}
 3427
 3428			// Jenkins Queue Job inputs
 3429			"inputs"!: null |
 3430			bool |
 3431			number |
 3432			string |
 3433			[...] |
 3434			close({
 3435				// Jenkins service endpoint
 3436				"serverEndpoint"!: string
 3437
 3438				// Job name
 3439				"jobName"!: string
 3440
 3441				// Job is of Multibranch Pipeline type
 3442				"isMultibranchJob"?: bool
 3443
 3444				// Multibranch Pipeline Branch
 3445				"multibranchPipelineBranch"?: string
 3446
 3447				// Capture console output and wait for completion
 3448				"captureConsole"?: bool
 3449
 3450				// Capture pipeline output and wait for pipeline completion
 3451				"capturePipeline"?: bool
 3452
 3453				// Parameterized job
 3454				"parameterizedJob"?: bool
 3455
 3456				// Job parameters
 3457				"jobParameters"?: string
 3458			})
 3459			...
 3460		},
 3461		{
 3462			// Jenkins queue job
 3463			//
 3464			// Queue a job on a Jenkins server
 3465			"task"!: null | bool | number | =~"^JenkinsQueueJob@2$" | [...] | {...}
 3466
 3467			// Jenkins queue job inputs
 3468			"inputs"!: null |
 3469			bool |
 3470			number |
 3471			string |
 3472			[...] |
 3473			close({
 3474				// Jenkins service connection
 3475				"serverEndpoint"!: string
 3476
 3477				// Job name
 3478				"jobName"!: string
 3479
 3480				// Job is of multibranch pipeline type
 3481				"isMultibranchJob"?: bool
 3482
 3483				// Multibranch pipeline branch
 3484				"multibranchPipelineBranch"?: string
 3485
 3486				// Capture console output and wait for completion
 3487				"captureConsole"?: bool
 3488
 3489				// Capture pipeline output and wait for pipeline completion
 3490				"capturePipeline"?: bool
 3491
 3492				// Parameterized job
 3493				"isParameterizedJob"?: bool
 3494
 3495				// Job parameters
 3496				"jobParameters"?: string
 3497
 3498				// Fail on unstable result
 3499				"failOnUnstableResult"?: bool
 3500
 3501				// Number of retries for failed connection
 3502				"retryCount"?: string
 3503
 3504				// Time between retries
 3505				"delayBetweenRetries"?: string
 3506			})
 3507			...
 3508		},
 3509		{
 3510			// FTP upload
 3511			//
 3512			// Upload files using FTP
 3513			"task"!: null | bool | number | =~"^FtpUpload@2$" | [...] | {...}
 3514
 3515			// FTP upload inputs
 3516			"inputs"!: null |
 3517			bool |
 3518			number |
 3519			string |
 3520			[...] |
 3521			close({
 3522				// Authentication Method
 3523				"credentialsOption"?: "serviceEndpoint" | "inputs"
 3524
 3525				// FTP Service Connection
 3526				"serverEndpoint"?: string
 3527
 3528				// Server URL
 3529				"serverUrl"?: string
 3530
 3531				// Username
 3532				"username"?: string
 3533
 3534				// Password
 3535				"password"?: string
 3536
 3537				// Use implicit FTPS
 3538				"implicitFTPS"?: bool
 3539
 3540				// Root folder
 3541				"rootDirectory"!: string
 3542
 3543				// File patterns
 3544				"filePatterns"?: string
 3545
 3546				// Remote directory
 3547				"remoteDirectory"?: string
 3548
 3549				// Enable UTF8 support
 3550				"enableUtf8"?: bool
 3551
 3552				// Delete remote directory
 3553				"clean"?: bool
 3554
 3555				// Clear remote directory contents
 3556				"cleanContents"?: bool
 3557
 3558				// Preserve file paths
 3559				"preservePaths"?: bool
 3560
 3561				// Trust server certificate
 3562				"trustSSL"?: bool
 3563
 3564				// FTP Commands
 3565				"customCmds"?: string
 3566			})
 3567			...
 3568		},
 3569		{
 3570			// FTP upload
 3571			//
 3572			// Upload files using FTP
 3573			"task"!: null | bool | number | =~"^FtpUpload@1$" | [...] | {...}
 3574
 3575			// FTP upload inputs
 3576			"inputs"!: null |
 3577			bool |
 3578			number |
 3579			string |
 3580			[...] |
 3581			close({
 3582				// Authentication Method
 3583				"credentialsOption"?: "serviceEndpoint" | "inputs"
 3584
 3585				// FTP Service Connection
 3586				"serverEndpoint"?: string
 3587
 3588				// Server URL
 3589				"serverUrl"?: string
 3590
 3591				// Username
 3592				"username"?: string
 3593
 3594				// Password
 3595				"password"?: string
 3596
 3597				// Root folder
 3598				"rootDirectory"!: string
 3599
 3600				// File patterns
 3601				"filePatterns"?: string
 3602
 3603				// Remote directory
 3604				"remoteDirectory"?: string
 3605
 3606				// Delete remote directory
 3607				"clean"?: bool
 3608
 3609				// Clear remote directory contents
 3610				"cleanContents"?: bool
 3611
 3612				// Overwrite
 3613				"overwrite"?: bool
 3614
 3615				// Preserve file paths
 3616				"preservePaths"?: bool
 3617
 3618				// Trust server certificate
 3619				"trustSSL"?: bool
 3620			})
 3621			...
 3622		},
 3623		{
 3624			// Windows machine file copy
 3625			//
 3626			// Copy files to remote Windows machines
 3627			"task"!: null | bool | number | =~"^WindowsMachineFileCopy@2$" | [...] | {...}
 3628
 3629			// Windows machine file copy inputs
 3630			"inputs"!: null |
 3631			bool |
 3632			number |
 3633			string |
 3634			[...] |
 3635			close({
 3636				// Source
 3637				"SourcePath"!: string
 3638
 3639				// Machines
 3640				"MachineNames"!: string
 3641
 3642				// Admin Login
 3643				"AdminUserName"!: string
 3644
 3645				// Password
 3646				"AdminPassword"!: string
 3647
 3648				// Destination Folder
 3649				"TargetPath"!: string
 3650
 3651				// Clean Target
 3652				"CleanTargetBeforeCopy"?: bool
 3653
 3654				// Copy Files in Parallel
 3655				"CopyFilesInParallel"?: bool
 3656
 3657				// Additional Arguments
 3658				"AdditionalArguments"?: string
 3659			})
 3660			...
 3661		},
 3662		{
 3663			// Windows machine file copy
 3664			//
 3665			// Copy files to remote Windows machines
 3666			"task"!: null | bool | number | =~"^WindowsMachineFileCopy@1$" | [...] | {...}
 3667
 3668			// Windows machine file copy inputs
 3669			"inputs"!: null |
 3670			bool |
 3671			number |
 3672			string |
 3673			[...] |
 3674			close({
 3675				// Source
 3676				"SourcePath"!: string
 3677
 3678				// Machines
 3679				"EnvironmentName"?: string
 3680
 3681				// Admin Login
 3682				"AdminUserName"?: string
 3683
 3684				// Password
 3685				"AdminPassword"?: string
 3686
 3687				// Destination Folder
 3688				"TargetPath"!: string
 3689
 3690				// Clean Target
 3691				"CleanTargetBeforeCopy"?: bool
 3692
 3693				// Copy Files in Parallel
 3694				"CopyFilesInParallel"?: bool
 3695
 3696				// Additional Arguments
 3697				"AdditionalArguments"?: string
 3698
 3699				// Select Machines By
 3700				"ResourceFilteringMethod"?: "machineNames" | "tags"
 3701
 3702				// Filter Criteria
 3703				"MachineNames"?: string
 3704			})
 3705			...
 3706		},
 3707		{
 3708			// Android Build
 3709			//
 3710			// [Deprecated] Use Gradle
 3711			"task"!: null | bool | number | =~"^AndroidBuild@1$" | [...] | {...}
 3712
 3713			// Android Build inputs
 3714			"inputs"?: null |
 3715			bool |
 3716			number |
 3717			string |
 3718			[...] |
 3719			close({
 3720				// Location of Gradle Wrapper
 3721				"gradleWrapper"?: string
 3722
 3723				// Project Directory
 3724				"gradleProj"?: string
 3725
 3726				// Gradle Arguments
 3727				"gradleArguments"?: string
 3728
 3729				// Name
 3730				"avdName"?: string
 3731
 3732				// Create AVD
 3733				"createAvd"?: bool
 3734
 3735				// AVD Target SDK
 3736				"emulatorTarget"?: string
 3737
 3738				// AVD Device
 3739				"emulatorDevice"?: string
 3740
 3741				// AVD ABI
 3742				"avdAbi"?: string
 3743
 3744				// Overwrite Existing AVD
 3745				"avdForce"?: bool
 3746
 3747				// Create AVD Optional Arguments
 3748				"avdOptionalArgs"?: string
 3749
 3750				// Start and Stop Android Emulator
 3751				"startEmulator"?: bool
 3752
 3753				// Timeout in Seconds
 3754				"emulatorTimeout"?: string
 3755
 3756				// Headless Display
 3757				"emulatorHeadless"?: bool
 3758
 3759				// Emulator Optional Arguments
 3760				"emulatorOptionalArgs"?: string
 3761
 3762				// Delete AVD
 3763				"deleteAvd"?: bool
 3764			})
 3765			...
 3766		},
 3767		{
 3768			// Python twine upload authenticate
 3769			//
 3770			// Authenticate for uploading Python distributions using twine. Add '-r
 3771			// FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload
 3772			// command. For feeds present in this organization, use the feed name as the
 3773			// repository (-r). Otherwise, use the endpoint name defined in the service
 3774			// connection.
 3775			"task"!: null | bool | number | =~"^TwineAuthenticate@1$" | [...] | {...}
 3776
 3777			// Python twine upload authenticate inputs
 3778			"inputs"?: null |
 3779			bool |
 3780			number |
 3781			string |
 3782			[...] |
 3783			close({
 3784				// 'Azure DevOps' Service Connection
 3785				"azureDevOpsServiceConnection"?: string
 3786
 3787				// Azure Artifacts Feed url.
 3788				"feedUrl"?: string
 3789
 3790				// My feed name (select below)
 3791				"artifactFeed"?: string
 3792
 3793				// Feed from external organizations
 3794				"pythonUploadServiceConnection"?: string
 3795			})
 3796			...
 3797		},
 3798		{
 3799			// Python twine upload authenticate
 3800			//
 3801			// Authenticate for uploading Python distributions using twine. Add '-r
 3802			// FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload
 3803			// command. For feeds present in this organization, use the feed name as the
 3804			// repository (-r). Otherwise, use the endpoint name defined in the service
 3805			// connection.
 3806			"task"!: null | bool | number | =~"^TwineAuthenticate@0$" | [...] | {...}
 3807
 3808			// Python twine upload authenticate inputs
 3809			"inputs"?: null |
 3810			bool |
 3811			number |
 3812			string |
 3813			[...] |
 3814			close({
 3815				// My feeds (select below)
 3816				"artifactFeeds"?: string
 3817
 3818				// Feeds from external organizations
 3819				"externalFeeds"?: string
 3820
 3821				// Publish pipeline metadata
 3822				"publishPackageMetadata"?: bool
 3823			})
 3824			...
 3825		},
 3826		{
 3827			// IIS web app deploy
 3828			//
 3829			// Deploy a website or web application using Web Deploy
 3830			"task"!: null | bool | number | =~"^IISWebAppDeploymentOnMachineGroup@0$" | [...] | {...}
 3831
 3832			// IIS web app deploy inputs
 3833			"inputs"!: null |
 3834			bool |
 3835			number |
 3836			string |
 3837			[...] |
 3838			close({
 3839				// Website Name
 3840				"WebSiteName"!: string
 3841
 3842				// Virtual Application
 3843				"VirtualApplication"?: string
 3844
 3845				// Package or Folder
 3846				"Package"?: string
 3847
 3848				// SetParameters File
 3849				"SetParametersFile"?: string
 3850
 3851				// Remove Additional Files at Destination
 3852				"RemoveAdditionalFilesFlag"?: bool
 3853
 3854				// Exclude Files from the App_Data Folder
 3855				"ExcludeFilesFromAppDataFlag"?: bool
 3856
 3857				// Take App Offline
 3858				"TakeAppOfflineFlag"?: bool
 3859
 3860				// Additional Arguments
 3861				"AdditionalArguments"?: string
 3862
 3863				// XML transformation
 3864				"XmlTransformation"?: bool
 3865
 3866				// XML variable substitution
 3867				"XmlVariableSubstitution"?: bool
 3868
 3869				// JSON variable substitution
 3870				"JSONFiles"?: string
 3871			})
 3872			...
 3873		},
 3874		{
 3875			// Python script
 3876			//
 3877			// Run a Python file or inline script
 3878			"task"!: null | bool | number | =~"^PythonScript@0$" | [...] | {...}
 3879
 3880			// Python script inputs
 3881			"inputs"?: null |
 3882			bool |
 3883			number |
 3884			string |
 3885			[...] |
 3886			close({
 3887				// Script source
 3888				"scriptSource"?: "filePath" | "inline"
 3889
 3890				// Script path
 3891				"scriptPath"?: string
 3892
 3893				// Script
 3894				"script"?: string
 3895
 3896				// Arguments
 3897				"arguments"?: string
 3898
 3899				// Python interpreter
 3900				"pythonInterpreter"?: string
 3901
 3902				// Working directory
 3903				"workingDirectory"?: string
 3904
 3905				// Fail on standard error
 3906				"failOnStderr"?: bool
 3907			})
 3908			...
 3909		},
 3910		{
 3911			// Helm tool installer
 3912			//
 3913			// Install Helm and Kubernetes on an agent machine
 3914			"task"!: null | bool | number | =~"^HelmInstaller@0$" | [...] | {...}
 3915
 3916			// Helm tool installer inputs
 3917			"inputs"?: null |
 3918			bool |
 3919			number |
 3920			string |
 3921			[...] |
 3922			close({
 3923				// Helm Version Spec
 3924				"helmVersion"?: string
 3925
 3926				// Check for latest version of Helm
 3927				"checkLatestHelmVersion"?: bool
 3928
 3929				// Install Kubectl
 3930				"installKubectl"?: bool
 3931
 3932				// Kubectl Version Spec
 3933				"kubectlVersion"?: string
 3934
 3935				// Check for latest version of kubectl
 3936				"checkLatestKubectl"?: bool
 3937			})
 3938			...
 3939		},
 3940		{
 3941			// Helm tool installer
 3942			//
 3943			// Install Helm on an agent machine
 3944			"task"!: null | bool | number | =~"^HelmInstaller@1$" | [...] | {...}
 3945
 3946			// Helm tool installer inputs
 3947			"inputs"?: null |
 3948			bool |
 3949			number |
 3950			string |
 3951			[...] |
 3952			close({
 3953				// Helm Version Spec
 3954				"helmVersionToInstall"?: string
 3955			})
 3956			...
 3957		},
 3958		{
 3959			// Node.js tasks runner installer
 3960			//
 3961			// Install specific Node.js version to run node tasks
 3962			"task"!: null | bool | number | =~"^NodeTaskRunnerInstaller@0$" | [...] | {...}
 3963
 3964			// Node.js tasks runner installer inputs
 3965			"inputs"?: null |
 3966			bool |
 3967			number |
 3968			string |
 3969			[...] |
 3970			close({
 3971				// Version of runner to install
 3972				"nodeVersion"?: "6" | "10" | "16"
 3973			})
 3974			...
 3975		},
 3976		{
 3977			// Xamarin License
 3978			//
 3979			// [Deprecated] Upgrade to free version of Xamarin: https://store.xamarin.com
 3980			"task"!: null | bool | number | =~"^XamarinLicense@1$" | [...] | {...}
 3981
 3982			// Xamarin License inputs
 3983			"inputs"!: null |
 3984			bool |
 3985			number |
 3986			string |
 3987			[...] |
 3988			close({
 3989				// Action
 3990				"action"?: "Activate" | "Deactivate"
 3991
 3992				// Email
 3993				"email"!: string
 3994
 3995				// Password
 3996				"password"!: string
 3997
 3998				// Xamarin Product
 3999				"product"?: "MA" | "MT" | "MM"
 4000
 4001				// Timeout in Seconds
 4002				"timeout"?: string
 4003			})
 4004			...
 4005		},
 4006		{
 4007			// NuGet authenticate
 4008			//
 4009			// This version of the task is deprecated, use NuGetAuthenticateV1 instead.
 4010			// Configure NuGet tools to authenticate with Azure Artifacts and other NuGet
 4011			// repositories. Requires NuGet >= 4.8.5385, dotnet >= 2.1.400, or MSBuild >=
 4012			// 15.8.166.59604.
 4013			"task"!: null | bool | number | =~"^NuGetAuthenticate@0$" | [...] | {...}
 4014
 4015			// NuGet authenticate inputs
 4016			"inputs"?: null |
 4017			bool |
 4018			number |
 4019			string |
 4020			[...] |
 4021			close({
 4022				// Service connection credentials for feeds outside this organization
 4023				"nuGetServiceConnections"?: string
 4024
 4025				// Reinstall the credential provider even if already installed
 4026				"forceReinstallCredentialProvider"?: bool
 4027			})
 4028			...
 4029		},
 4030		{
 4031			// NuGet authenticate
 4032			//
 4033			// Configure NuGet tools to authenticate with Azure Artifacts and other NuGet
 4034			// repositories. Requires NuGet >= 4.8.5385, dotnet >= 6, or MSBuild >=
 4035			// 15.8.166.59604
 4036			"task"!: null | bool | number | =~"^NuGetAuthenticate@1$" | [...] | {...}
 4037
 4038			// NuGet authenticate inputs
 4039			"inputs"?: null |
 4040			bool |
 4041			number |
 4042			string |
 4043			[...] |
 4044			close({
 4045				// 'Azure DevOps' Service Connection
 4046				"azureDevOpsServiceConnection"?: string
 4047
 4048				// Azure Artifacts URL
 4049				"feedUrl"?: string
 4050
 4051				// Reinstall the credential provider even if already installed
 4052				"forceReinstallCredentialProvider"?: bool
 4053
 4054				// Service connection credentials for feeds outside this organization
 4055				"nuGetServiceConnections"?: string
 4056			})
 4057			...
 4058		},
 4059		{
 4060			// Download GitHub Nuget Packages
 4061			//
 4062			// Restore your nuget packages using dotnet CLI
 4063			"task"!: null | bool | number | =~"^DownloadGitHubNugetPackage@1$" | [...] | {...}
 4064
 4065			// Download GitHub Nuget Packages inputs
 4066			"inputs"!: null |
 4067			bool |
 4068			number |
 4069			string |
 4070			[...] |
 4071			close({
 4072				// Package Name
 4073				"packageName"!: string
 4074
 4075				// Package Version
 4076				"version"!: string
 4077
 4078				// Credentials for feed from GitHub
 4079				"externalFeedCredentials"?: string
 4080
 4081				// Destination directory
 4082				"restoreDirectory"?: string
 4083			})
 4084			...
 4085		},
 4086		{
 4087			// Maven Authenticate
 4088			//
 4089			// Provides credentials for Azure Artifacts feeds and external maven repositories
 4090			"task"!: null | bool | number | =~"^MavenAuthenticate@0$" | [...] | {...}
 4091
 4092			// Maven Authenticate inputs
 4093			"inputs"?: null |
 4094			bool |
 4095			number |
 4096			string |
 4097			[...] |
 4098			close({
 4099				// 'Azure DevOps' Service Connection
 4100				"azureDevOpsServiceConnection"?: string
 4101
 4102				// Feeds
 4103				"artifactsFeeds"?: string
 4104
 4105				// Credentials for repositories outside this organization/collection
 4106				"mavenServiceConnections"?: string
 4107			})
 4108			...
 4109		},
 4110		{
 4111			// Azure App Configuration Export
 4112			//
 4113			// Export key-values from Azure App Configuration to task variables in your
 4114			// build or deployment pipelines
 4115			"task"!: null | bool | number | =~"^AzureAppConfigurationExport@10$" | [...] | {...}
 4116
 4117			// Azure App Configuration Export inputs
 4118			"inputs"!: null |
 4119			bool |
 4120			number |
 4121			string |
 4122			[...] |
 4123			close({
 4124				// Azure subscription
 4125				"azureSubscription"!: string
 4126
 4127				// App Configuration Endpoint
 4128				"AppConfigurationEndpoint"!: string
 4129
 4130				// Selection Mode
 4131				"SelectionMode"?: "Default" | "Snapshot"
 4132
 4133				// Key Filter
 4134				"KeyFilter"?: string
 4135
 4136				// Label
 4137				"Label"?: string
 4138
 4139				// Snapshot name
 4140				"SnapshotName"?: string
 4141
 4142				// Trim Key Prefix
 4143				"TrimKeyPrefix"?: string
 4144
 4145				// Suppress warning for overridden keys
 4146				"SuppressWarningForOverriddenKeys"?: bool
 4147
 4148				// Treat key vault resolution errors as warnings
 4149				"TreatKeyVaultErrorsAsWarning"?: bool
 4150			})
 4151			...
 4152		},
 4153		{
 4154			// Review App
 4155			//
 4156			// Use this task under deploy phase provider to create a resource dynamically
 4157			"task"!: null | bool | number | =~"^ReviewApp@0$" | [...] | {...}
 4158
 4159			// Review App inputs
 4160			"inputs"!: null |
 4161			bool |
 4162			number |
 4163			string |
 4164			[...] |
 4165			close({
 4166				// Resource name
 4167				"resourceName"!: string
 4168
 4169				// Environment name
 4170				"baseEnvironmentName"?: string
 4171
 4172				// Review Resource Name
 4173				"reviewResourceName"?: string
 4174			})
 4175			...
 4176		},
 4177		{
 4178			// Java tool installer
 4179			//
 4180			// Acquire a specific version of Java from a user-supplied Azure blob or the
 4181			// tool cache and sets JAVA_HOME
 4182			"task"!: null | bool | number | =~"^JavaToolInstaller@0$" | [...] | {...}
 4183
 4184			// Java tool installer inputs
 4185			"inputs"!: null |
 4186			bool |
 4187			number |
 4188			string |
 4189			[...] |
 4190			close({
 4191				// JDK version
 4192				"versionSpec"?: string
 4193
 4194				// JDK architecture
 4195				"jdkArchitectureOption"!: "x64" | "x86"
 4196
 4197				// JDK source
 4198				"jdkSourceOption"!: "AzureStorage" | "LocalDirectory" | "PreInstalled"
 4199
 4200				// JDK file
 4201				"jdkFile"?: string
 4202
 4203				// Azure subscription
 4204				"azureResourceManagerEndpoint"?: string
 4205
 4206				// Storage account name
 4207				"azureStorageAccountName"?: string
 4208
 4209				// Container name
 4210				"azureContainerName"?: string
 4211
 4212				// Common virtual path
 4213				"azureCommonVirtualFile"?: string
 4214
 4215				// Destination directory
 4216				"jdkDestinationDirectory"?: string
 4217
 4218				// Resource Group name
 4219				"azureResourceGroupName"?: string
 4220
 4221				// Clean destination directory
 4222				"cleanDestinationDirectory"?: bool
 4223
 4224				// Create directory for extracting
 4225				"createExtractDirectory"?: bool
 4226			})
 4227			...
 4228		},
 4229		{
 4230			// Java tool installer
 4231			//
 4232			// Acquire a specific version of Java from a user-supplied Azure blob or the
 4233			// tool cache and sets JAVA_HOME
 4234			"task"!: null | bool | number | =~"^JavaToolInstaller@1$" | [...] | {...}
 4235
 4236			// Java tool installer inputs
 4237			"inputs"!: null |
 4238			bool |
 4239			number |
 4240			string |
 4241			[...] |
 4242			close({
 4243				// JDK version
 4244				"versionSpec"?: string
 4245
 4246				// JDK architecture
 4247				"jdkArchitectureOption"!: "x64" | "x86"
 4248
 4249				// JDK source
 4250				"jdkSourceOption"!: "AzureStorage" | "LocalDirectory" | "PreInstalled"
 4251
 4252				// JDK file
 4253				"jdkFile"?: string
 4254
 4255				// Azure subscription
 4256				"azureResourceManagerEndpoint"?: string
 4257
 4258				// Storage account name
 4259				"azureStorageAccountName"?: string
 4260
 4261				// Container name
 4262				"azureContainerName"?: string
 4263
 4264				// Common virtual path
 4265				"azureCommonVirtualFile"?: string
 4266
 4267				// Destination directory
 4268				"jdkDestinationDirectory"?: string
 4269
 4270				// Resource Group name
 4271				"azureResourceGroupName"?: string
 4272
 4273				// Clean destination directory
 4274				"cleanDestinationDirectory"?: bool
 4275
 4276				// Create directory for extracting
 4277				"createExtractDirectory"?: bool
 4278			})
 4279			...
 4280		},
 4281		{
 4282			// Chef
 4283			//
 4284			// Deploy to Chef environments by editing environment attributes
 4285			"task"!: null | bool | number | =~"^Chef@1$" | [...] | {...}
 4286
 4287			// Chef inputs
 4288			"inputs"!: null |
 4289			bool |
 4290			number |
 4291			string |
 4292			[...] |
 4293			close({
 4294				// Chef Service Connection
 4295				"connectedServiceName"!: string
 4296
 4297				// Environment
 4298				"Environment"!: string
 4299
 4300				// Environment Attributes
 4301				"Attributes"!: string
 4302
 4303				// Wait Time
 4304				"chefWaitTime"?: string
 4305			})
 4306			...
 4307		},
 4308		{
 4309			// Azure Functions Deploy
 4310			//
 4311			// Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications
 4312			"task"!: null | bool | number | =~"^AzureFunctionApp@2$" | [...] | {...}
 4313
 4314			// Azure Functions Deploy inputs
 4315			"inputs"!: null |
 4316			bool |
 4317			number |
 4318			string |
 4319			[...] |
 4320			close({
 4321				// Azure Resource Manager connection
 4322				"connectedServiceNameARM"!: string
 4323
 4324				// App type
 4325				"appType"!: "functionApp" | "functionAppLinux"
 4326
 4327				// Is Function App on Flex Consumption Plan
 4328				"isFlexConsumption"?: bool
 4329
 4330				// Azure Functions App name
 4331				"appName"!: string
 4332
 4333				// Deploy to Slot or App Service Environment
 4334				"deployToSlotOrASE"?: bool
 4335
 4336				// Resource group
 4337				"resourceGroupName"?: string
 4338
 4339				// Slot
 4340				"slotName"?: string
 4341
 4342				// Package or folder
 4343				"package"?: string
 4344
 4345				// Runtime stack
 4346				"runtimeStack"?: "DOTNET|6.0" |
 4347					"DOTNET-ISOLATED|6.0" |
 4348					"DOTNET-ISOLATED|7.0" |
 4349					"DOTNET-ISOLATED|8.0" |
 4350					"DOTNET-ISOLATED|9.0" |
 4351					"JAVA|8" |
 4352					"JAVA|11" |
 4353					"JAVA|17" |
 4354					"JAVA|21" |
 4355					"NODE|14" |
 4356					"NODE|16" |
 4357					"NODE|18" |
 4358					"NODE|20" |
 4359					"PYTHON|3.8" |
 4360					"PYTHON|3.9" |
 4361					"PYTHON|3.10" |
 4362					"PYTHON|3.11"
 4363
 4364				// App settings
 4365				"appSettings"?: string
 4366
 4367				// Deployment method
 4368				"deploymentMethod"?: "auto" | "zipDeploy" | "runFromPackage"
 4369			})
 4370			...
 4371		},
 4372		{
 4373			// Azure Functions
 4374			//
 4375			// Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications
 4376			"task"!: null | bool | number | =~"^AzureFunctionApp@1$" | [...] | {...}
 4377
 4378			// Azure Functions inputs
 4379			"inputs"!: null |
 4380			bool |
 4381			number |
 4382			string |
 4383			[...] |
 4384			close({
 4385				// Azure subscription
 4386				"azureSubscription"!: string
 4387
 4388				// App type
 4389				"appType"!: "functionApp" | "functionAppLinux"
 4390
 4391				// Azure Functions App name
 4392				"appName"!: string
 4393
 4394				// Deploy to Slot or App Service Environment
 4395				"deployToSlotOrASE"?: bool
 4396
 4397				// Resource group
 4398				"resourceGroupName"?: string
 4399
 4400				// Slot
 4401				"slotName"?: string
 4402
 4403				// Package or folder
 4404				"package"?: string
 4405
 4406				// Runtime stack
 4407				"runtimeStack"?: "DOTNET|6.0" |
 4408					"DOTNET-ISOLATED|6.0" |
 4409					"DOTNET-ISOLATED|7.0" |
 4410					"DOTNET-ISOLATED|8.0" |
 4411					"DOTNET-ISOLATED|9.0" |
 4412					"JAVA|8" |
 4413					"JAVA|11" |
 4414					"JAVA|17" |
 4415					"JAVA|21" |
 4416					"NODE|14" |
 4417					"NODE|16" |
 4418					"NODE|18" |
 4419					"NODE|20" |
 4420					"PYTHON|3.8" |
 4421					"PYTHON|3.9" |
 4422					"PYTHON|3.10" |
 4423					"PYTHON|3.11"
 4424
 4425				// Startup command
 4426				"startUpCommand"?: string
 4427
 4428				// Generate web.config parameters for Python, Node.js, Go and Java apps
 4429				"customWebConfig"?: string
 4430
 4431				// App settings
 4432				"appSettings"?: string
 4433
 4434				// Configuration settings
 4435				"configurationStrings"?: string
 4436
 4437				// Deployment method
 4438				"deploymentMethod"?: "auto" | "zipDeploy" | "runFromPackage"
 4439			})
 4440			...
 4441		},
 4442		{
 4443			// Azure Functions Deploy
 4444			//
 4445			// Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications
 4446			"task"!: null | bool | number | =~"^AzureFunctionApp@2$" | [...] | {...}
 4447
 4448			// Azure Functions Deploy inputs
 4449			"inputs"!: null |
 4450			bool |
 4451			number |
 4452			string |
 4453			[...] |
 4454			close({
 4455				// Azure Resource Manager connection
 4456				"connectedServiceNameARM"!: string
 4457
 4458				// App type
 4459				"appType"!: "functionApp" | "functionAppLinux"
 4460
 4461				// Is Function App on Flex Consumption Plan
 4462				"isFlexConsumption"?: bool
 4463
 4464				// Azure Functions App name
 4465				"appName"!: string
 4466
 4467				// Deploy to Slot or App Service Environment
 4468				"deployToSlotOrASE"?: bool
 4469
 4470				// Resource group
 4471				"resourceGroupName"?: string
 4472
 4473				// Slot
 4474				"slotName"?: string
 4475
 4476				// Package or folder
 4477				"package"?: string
 4478
 4479				// Runtime stack
 4480				"runtimeStack"?: "DOTNET|6.0" |
 4481					"DOTNET-ISOLATED|6.0" |
 4482					"DOTNET-ISOLATED|7.0" |
 4483					"DOTNET-ISOLATED|8.0" |
 4484					"JAVA|8" |
 4485					"JAVA|11" |
 4486					"JAVA|17" |
 4487					"JAVA|21" |
 4488					"NODE|14" |
 4489					"NODE|16" |
 4490					"NODE|18" |
 4491					"NODE|20" |
 4492					"PYTHON|3.8" |
 4493					"PYTHON|3.9" |
 4494					"PYTHON|3.10" |
 4495					"PYTHON|3.11"
 4496
 4497				// App settings
 4498				"appSettings"?: string
 4499
 4500				// Deployment method
 4501				"deploymentMethod"?: "auto" | "zipDeploy" | "runFromPackage"
 4502			})
 4503			...
 4504		},
 4505		{
 4506			// npm authenticate (for task runners)
 4507			//
 4508			// Don't use this task if you're also using the npm task. Provides npm
 4509			// credentials to an .npmrc file in your repository for the scope of the build.
 4510			// This enables npm task runners like gulp and Grunt to authenticate with
 4511			// private registries.
 4512			"task"!: null | bool | number | =~"^npmAuthenticate@0$" | [...] | {...}
 4513
 4514			// npm authenticate (for task runners) inputs
 4515			"inputs"!: null |
 4516			bool |
 4517			number |
 4518			string |
 4519			[...] |
 4520			close({
 4521				// 'Azure DevOps' Service Connection
 4522				"azureDevOpsServiceConnection"?: string
 4523
 4524				// Azure Artifacts URL
 4525				"feedUrl"?: string
 4526
 4527				// .npmrc file to authenticate
 4528				"workingFile"!: string
 4529
 4530				// Credentials for registries outside this organization/collection
 4531				"customEndpoint"?: string
 4532			})
 4533			...
 4534		},
 4535		{
 4536			// MSBuild
 4537			//
 4538			// Build with MSBuild
 4539			"task"!: null | bool | number | =~"^MSBuild@1$" | [...] | {...}
 4540
 4541			// MSBuild inputs
 4542			"inputs"?: null |
 4543			bool |
 4544			number |
 4545			string |
 4546			[...] |
 4547			close({
 4548				// Project
 4549				"solution"?: string
 4550
 4551				// MSBuild
 4552				"msbuildLocationMethod"?: "version" | "location"
 4553
 4554				// MSBuild Version
 4555				"msbuildVersion"?: "latest" | "17.0" | "16.0" | "15.0" | "14.0" | "12.0" | "4.0"
 4556
 4557				// MSBuild Architecture
 4558				"msbuildArchitecture"?: "x86" | "x64"
 4559
 4560				// Path to MSBuild
 4561				"msbuildLocation"?: string
 4562
 4563				// Platform
 4564				"platform"?: string
 4565
 4566				// Configuration
 4567				"configuration"?: string
 4568
 4569				// MSBuild Arguments
 4570				"msbuildArguments"?: string
 4571
 4572				// Clean
 4573				"clean"?: bool
 4574
 4575				// Build in Parallel
 4576				"maximumCpuCount"?: bool
 4577
 4578				// Restore NuGet Packages
 4579				"restoreNugetPackages"?: bool
 4580
 4581				// Record Project Details
 4582				"logProjectEvents"?: bool
 4583
 4584				// Create Log File
 4585				"createLogFile"?: bool
 4586
 4587				// Log File Verbosity
 4588				"logFileVerbosity"?: "quiet" | "minimal" | "normal" | "detailed" | "diagnostic"
 4589			})
 4590			...
 4591		},
 4592		{
 4593			// Build machine image
 4594			//
 4595			// Build a machine image using Packer, which may be used for Azure Virtual
 4596			// machine scale set deployment
 4597			"task"!: null | bool | number | =~"^PackerBuild@0$" | [...] | {...}
 4598
 4599			// Build machine image inputs
 4600			"inputs"!: null |
 4601			bool |
 4602			number |
 4603			string |
 4604			[...] |
 4605			close({
 4606				// Packer template
 4607				"templateType"?: "builtin" | "custom"
 4608
 4609				// Packer template location
 4610				"customTemplateLocation"?: string
 4611
 4612				// Template parameters
 4613				"customTemplateParameters"?: string
 4614
 4615				// Azure subscription
 4616				"ConnectedServiceName"!: string
 4617
 4618				// Storage location
 4619				"location"!: string
 4620
 4621				// Storage account
 4622				"storageAccountName"!: string
 4623
 4624				// Resource group
 4625				"azureResourceGroup"!: string
 4626
 4627				// Base image source
 4628				"baseImageSource"?: "default" | "customVhd"
 4629
 4630				// Base image
 4631				"baseImage"?: "MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows" |
 4632					"MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows" |
 4633					"MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows" |
 4634					"MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows" |
 4635					"Canonical:UbuntuServer:14.04.4-LTS:linux" |
 4636					"Canonical:UbuntuServer:16.04-LTS:linux" |
 4637					"RedHat:RHEL:7.2:linux" |
 4638					"RedHat:RHEL:6.8:linux" |
 4639					"OpenLogic:CentOS:7.2:linux" |
 4640					"OpenLogic:CentOS:6.8:linux" |
 4641					"credativ:Debian:8:linux" |
 4642					"credativ:Debian:7:linux" |
 4643					"SUSE:openSUSE-Leap:42.2:linux" |
 4644					"SUSE:SLES:12-SP2:linux" |
 4645					"SUSE:SLES:11-SP4:linux"
 4646
 4647				// Base image URL
 4648				"customImageUrl"?: string
 4649
 4650				// Base image OS
 4651				"customImageOSType"?: "windows" | "linux"
 4652
 4653				// Deployment Package
 4654				"packagePath"!: string
 4655
 4656				// Deployment script
 4657				"deployScriptPath"!: string
 4658
 4659				// Deployment script arguments
 4660				"deployScriptArguments"?: string
 4661
 4662				// Additional Builder parameters
 4663				"additionalBuilderParameters"?: string
 4664
 4665				// Skip temporary file cleanup during deprovision
 4666				"skipTempFileCleanupDuringVMDeprovision"?: bool
 4667
 4668				// Image URL
 4669				"imageUri"?: string
 4670			})
 4671			...
 4672		},
 4673		{
 4674			// Build machine image
 4675			//
 4676			// Build a machine image using Packer, which may be used for Azure Virtual
 4677			// machine scale set deployment
 4678			"task"!: null | bool | number | =~"^PackerBuild@1$" | [...] | {...}
 4679
 4680			// Build machine image inputs
 4681			"inputs"!: null |
 4682			bool |
 4683			number |
 4684			string |
 4685			[...] |
 4686			close({
 4687				// Packer template
 4688				"templateType"?: "builtin" | "custom"
 4689
 4690				// Packer template location
 4691				"customTemplateLocation"?: string
 4692
 4693				// Template parameters
 4694				"customTemplateParameters"?: string
 4695
 4696				// Azure subscription
 4697				"ConnectedServiceName"!: string
 4698
 4699				// Managed VM disk image
 4700				"isManagedImage"?: bool
 4701
 4702				// Managed VM Disk Image Name
 4703				"managedImageName"?: string
 4704
 4705				// Storage location
 4706				"location"!: string
 4707
 4708				// Storage account
 4709				"storageAccountName"!: string
 4710
 4711				// Resource group
 4712				"azureResourceGroup"!: string
 4713
 4714				// Base image source
 4715				"baseImageSource"?: "default" | "customVhd"
 4716
 4717				// Base image
 4718				"baseImage"?: "MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows" |
 4719					"MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows" |
 4720					"MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows" |
 4721					"MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows" |
 4722					"Canonical:UbuntuServer:14.04.4-LTS:linux" |
 4723					"Canonical:UbuntuServer:16.04-LTS:linux" |
 4724					"Canonical:UbuntuServer:18.04-LTS:linux" |
 4725					"RedHat:RHEL:7.2:linux" |
 4726					"RedHat:RHEL:6.8:linux" |
 4727					"OpenLogic:CentOS:7.2:linux" |
 4728					"OpenLogic:CentOS:6.8:linux" |
 4729					"credativ:Debian:8:linux" |
 4730					"credativ:Debian:7:linux" |
 4731					"SUSE:openSUSE-Leap:42.2:linux" |
 4732					"SUSE:SLES:12-SP2:linux" |
 4733					"SUSE:SLES:11-SP4:linux"
 4734
 4735				// Base image URL
 4736				"customImageUrl"?: string
 4737
 4738				// Base image OS
 4739				"customImageOSType"?: "windows" | "linux"
 4740
 4741				// Deployment Package
 4742				"packagePath"!: string
 4743
 4744				// Deployment script
 4745				"deployScriptPath"!: string
 4746
 4747				// Deployment script arguments
 4748				"deployScriptArguments"?: string
 4749
 4750				// Delete temp folder
 4751				"canDeleteTempFolder"?: bool
 4752
 4753				// Additional Builder parameters
 4754				"additionalBuilderParameters"?: string
 4755
 4756				// Skip temporary file cleanup during deprovision
 4757				"skipTempFileCleanupDuringVMDeprovision"?: bool
 4758
 4759				// Packer Version
 4760				"packerVersion"?: string
 4761
 4762				// Image URL or Name
 4763				"imageUri"?: string
 4764
 4765				// Azure Resource Id
 4766				"imageId"?: string
 4767			})
 4768			...
 4769		},
 4770		{
 4771			// NuGet packager
 4772			//
 4773			// Deprecated: use the “NuGet” task instead. It works with the new Tool
 4774			// Installer framework so you can easily use new versions of NuGet without
 4775			// waiting for a task update, provides better support for authenticated feeds
 4776			// outside this organization/collection, and uses NuGet 4 by default.
 4777			"task"!: null | bool | number | =~"^NuGetPackager@0$" | [...] | {...}
 4778
 4779			// NuGet packager inputs
 4780			"inputs"?: null |
 4781			bool |
 4782			number |
 4783			string |
 4784			[...] |
 4785			close({
 4786				// Path to csproj or nuspec file(s) to pack
 4787				"searchPattern"?: string
 4788
 4789				// Package Folder
 4790				"outputdir"?: string
 4791
 4792				// Include referenced projects
 4793				"includeReferencedProjects"?: bool
 4794
 4795				// Automatic package versioning
 4796				"versionByBuild"?: "false" | "byPrereleaseNumber" | "byEnvVar" | "true"
 4797
 4798				// Environment variable
 4799				"versionEnvVar"?: string
 4800
 4801				// Major
 4802				"requestedMajorVersion"?: string
 4803
 4804				// Minor
 4805				"requestedMinorVersion"?: string
 4806
 4807				// Patch
 4808				"requestedPatchVersion"?: string
 4809
 4810				// Configuration to Package
 4811				"configurationToPack"?: string
 4812
 4813				// Additional build properties
 4814				"buildProperties"?: string
 4815
 4816				// NuGet Arguments
 4817				"nuGetAdditionalArgs"?: string
 4818
 4819				// Path to NuGet.exe
 4820				"nuGetPath"?: string
 4821			})
 4822			...
 4823		},
 4824		{
 4825			// Azure App Configuration Snapshot
 4826			//
 4827			// Create a configuration snapshot in Azure App Configuration through build or deployment pipelines
 4828			"task"!: null | bool | number | =~"^AzureAppConfigurationSnapshot@1$" | [...] | {...}
 4829
 4830			// Azure App Configuration Snapshot inputs
 4831			"inputs"!: null |
 4832			bool |
 4833			number |
 4834			string |
 4835			[...] |
 4836			close({
 4837				// Azure subscription
 4838				"azureSubscription"!: string
 4839
 4840				// App Configuration Endpoint
 4841				"AppConfigurationEndpoint"!: string
 4842
 4843				// Snapshot Name
 4844				"SnapshotName"!: string
 4845
 4846				// Composition Type
 4847				"CompositionType"?: "key" | "key_label"
 4848
 4849				// Filters for key-values
 4850				"Filters"!: string
 4851
 4852				// Days to retain archived snapshot
 4853				"RetentionPeriod"?: int
 4854
 4855				// Tags
 4856				"Tags"?: string
 4857			})
 4858			...
 4859		},
 4860		{
 4861			// Duffle tool installer
 4862			//
 4863			// Install a specified version of Duffle for installing and managing CNAB bundles
 4864			"task"!: null | bool | number | =~"^DuffleInstaller@0$" | [...] | {...}
 4865
 4866			// Duffle tool installer inputs
 4867			"inputs"?: null |
 4868			bool |
 4869			number |
 4870			string |
 4871			[...] |
 4872			close({
 4873				// Version
 4874				"version"?: string
 4875
 4876				// Check for latest version
 4877				"checkLatestVersion"?: bool
 4878			})
 4879			...
 4880		},
 4881		{
 4882			// Update Service Fabric App Versions
 4883			//
 4884			// Automatically updates the versions of a packaged Service Fabric application.
 4885			"task"!: null | bool | number | =~"^ServiceFabricUpdateAppVersions@1$" | [...] | {...}
 4886
 4887			// Update Service Fabric App Versions inputs
 4888			"inputs"!: null |
 4889			bool |
 4890			number |
 4891			string |
 4892			[...] |
 4893			close({
 4894				// Application Package
 4895				"applicationPackagePath"!: string
 4896
 4897				// Version Value
 4898				"versionSuffix"?: string
 4899
 4900				// Version Behavior
 4901				"versionBehavior"?: "Append" | "Replace"
 4902
 4903				// Update only if changed
 4904				"updateOnlyChanged"?: bool
 4905
 4906				// Package Artifact Name
 4907				"pkgArtifactName"?: string
 4908
 4909				// Log all changes
 4910				"logAllChanges"?: bool
 4911
 4912				// Compare against
 4913				"compareType"?: "LastSuccessful" | "Specific"
 4914
 4915				// Build Number
 4916				"buildNumber"?: string
 4917			})
 4918			...
 4919		},
 4920		{
 4921			// Update Service Fabric manifests
 4922			//
 4923			// Automatically update portions of application and service manifests in a
 4924			// packaged Azure Service Fabric application
 4925			"task"!: null | bool | number | =~"^ServiceFabricUpdateManifests@2$" | [...] | {...}
 4926
 4927			// Update Service Fabric manifests inputs
 4928			"inputs"!: null |
 4929			bool |
 4930			number |
 4931			string |
 4932			[...] |
 4933			close({
 4934				// Update Type
 4935				"updateType"?: "Manifest versions" | "Docker image settings"
 4936
 4937				// Application Package
 4938				"applicationPackagePath"!: string
 4939
 4940				// Version Value
 4941				"versionSuffix"?: string
 4942
 4943				// Version Behavior
 4944				"versionBehavior"?: "Append" | "Replace"
 4945
 4946				// Update only if changed
 4947				"updateOnlyChanged"?: bool
 4948
 4949				// Package Artifact Name
 4950				"pkgArtifactName"?: string
 4951
 4952				// Log all changes
 4953				"logAllChanges"?: bool
 4954
 4955				// Compare against
 4956				"compareType"?: "LastSuccessful" | "Specific"
 4957
 4958				// Build Number
 4959				"buildNumber"?: string
 4960
 4961				// Overwrite Existing Package Artifact
 4962				"overwriteExistingPkgArtifact"?: bool
 4963
 4964				// Image Names Path
 4965				"imageNamesPath"?: string
 4966
 4967				// Image Digests Path
 4968				"imageDigestsPath"?: string
 4969			})
 4970			...
 4971		},
 4972		{
 4973			// Query Azure Monitor alerts
 4974			//
 4975			// Observe the configured Azure Monitor rules for active alerts
 4976			"task"!: null | bool | number | =~"^AzureMonitor@1$" | [...] | {...}
 4977
 4978			// Query Azure Monitor alerts inputs
 4979			"inputs"!: null |
 4980			bool |
 4981			number |
 4982			string |
 4983			[...] |
 4984			close({
 4985				// Azure subscription
 4986				"connectedServiceNameARM"!: string
 4987
 4988				// Resource group
 4989				"ResourceGroupName"!: string
 4990
 4991				// Filter type
 4992				"filterType"?: "resource" | "alertrule" | "none"
 4993
 4994				// Resource
 4995				"resource"?: string
 4996
 4997				// Alert rule
 4998				"alertRule"?: string
 4999
 5000				// Severity
 5001				"severity"?: "Sev0" | "Sev1" | "Sev2" | "Sev3" | "Sev4"
 5002
 5003				// Time range
 5004				"timeRange"?: "1h" | "1d" | "7d" | "30d"
 5005
 5006				// Alert state
 5007				"alertState"?: "New" | "Acknowledged" | "Closed"
 5008
 5009				// Monitor condition
 5010				"monitorCondition"?: "Fired " | "Resolved"
 5011			})
 5012			...
 5013		},
 5014		{
 5015			// Query Classic Azure Monitor alerts
 5016			//
 5017			// Observe the configured classic Azure Monitor rules for active alerts
 5018			"task"!: null | bool | number | =~"^AzureMonitor@0$" | [...] | {...}
 5019
 5020			// Query Classic Azure Monitor alerts inputs
 5021			"inputs"!: null |
 5022			bool |
 5023			number |
 5024			string |
 5025			[...] |
 5026			close({
 5027				// Azure subscription
 5028				"connectedServiceNameARM"!: string
 5029
 5030				// Resource group
 5031				"ResourceGroupName"!: string
 5032
 5033				// Resource type
 5034				"ResourceType"?: "Microsoft.Insights/components" |
 5035					"Microsoft.Web/sites" |
 5036					"Microsoft.Storage/storageAccounts" |
 5037					"Microsoft.Compute/virtualMachines"
 5038
 5039				// Resource name
 5040				"resourceName"!: string
 5041
 5042				// Alert rules
 5043				"alertRules"!: string
 5044			})
 5045			...
 5046		},
 5047		{
 5048			// Notation
 5049			//
 5050			// Azure Pipepine Task for setting up Notation CLI, sign and verify with Notation
 5051			"task"!: null | bool | number | =~"^Notation@0$" | [...] | {...}
 5052
 5053			// Notation inputs
 5054			"inputs"?: null |
 5055			bool |
 5056			number |
 5057			string |
 5058			[...] |
 5059			close({
 5060				// Command to run
 5061				"command"?: "install" | "sign" | "verify"
 5062
 5063				// Custom Version
 5064				"isCustomVersion"?: bool
 5065
 5066				// Version
 5067				"version"?: string
 5068
 5069				// Download URL
 5070				"url"?: string
 5071
 5072				// Checksum
 5073				"checksum"?: string
 5074
 5075				// Artifact references
 5076				"artifactRefs"?: string
 5077
 5078				// Signature Format
 5079				"signatureFormat"?: "cose" | "jws"
 5080
 5081				// [Experimental] Allow Referrers API
 5082				"allowReferrersAPI"?: bool
 5083
 5084				// Plugin
 5085				"plugin"?: "azureKeyVault"
 5086
 5087				// Plugin Version
 5088				"akvPluginVersion"?: string
 5089
 5090				// Azure Key Vault service connection
 5091				"azurekvServiceConection"?: string
 5092
 5093				// Key ID
 5094				"keyid"?: string
 5095
 5096				// Certificate Bundle File Path
 5097				"caCertBundle"?: string
 5098
 5099				// Self-signed Certificate
 5100				"selfSigned"?: bool
 5101
 5102				// Timestamp URL
 5103				"timestampURL"?: string
 5104
 5105				// Timestamp Root Certificate
 5106				"timestampRootCert"?: string
 5107
 5108				// Trust Policy File Path
 5109				"trustPolicy"?: string
 5110
 5111				// Trust Store Folder Path
 5112				"trustStore"?: string
 5113			})
 5114			...
 5115		},
 5116		{
 5117			// Azure Network Load Balancer
 5118			//
 5119			// Connect or disconnect an Azure virtual machine's network interface to a Load
 5120			// Balancer's back end address pool
 5121			"task"!: null | bool | number | =~"^AzureNLBManagement@1$" | [...] | {...}
 5122
 5123			// Azure Network Load Balancer inputs
 5124			"inputs"!: null |
 5125			bool |
 5126			number |
 5127			string |
 5128			[...] |
 5129			close({
 5130				// Azure Subscription
 5131				"azureSubscription"!: string
 5132
 5133				// Resource Group
 5134				"ResourceGroupName"!: string
 5135
 5136				// Load Balancer Name
 5137				"LoadBalancer"!: string
 5138
 5139				// Action
 5140				"Action"!: "Disconnect" | "Connect"
 5141			})
 5142			...
 5143		},
 5144		{
 5145			// Docker Compose
 5146			//
 5147			// Build, push or run multi-container Docker applications. Task can be used with
 5148			// Docker or Azure Container registry.
 5149			"task"!: null | bool | number | =~"^DockerCompose@0$" | [...] | {...}
 5150
 5151			// Docker Compose inputs
 5152			"inputs"?: null |
 5153			bool |
 5154			number |
 5155			string |
 5156			[...] |
 5157			close({
 5158				// Container Registry Type
 5159				"containerregistrytype"?: "Azure Container Registry" | "Container Registry"
 5160
 5161				// Docker Registry Service Connection
 5162				"dockerRegistryEndpoint"?: string
 5163
 5164				// Azure subscription
 5165				"azureSubscription"?: string
 5166
 5167				// Azure Container Registry
 5168				"azureContainerRegistry"?: string
 5169
 5170				// Docker Compose File
 5171				"dockerComposeFile"?: string
 5172
 5173				// Additional Docker Compose Files
 5174				"additionalDockerComposeFiles"?: string
 5175
 5176				// Environment Variables
 5177				"dockerComposeFileArgs"?: string
 5178
 5179				// Project Name
 5180				"projectName"?: string
 5181
 5182				// Qualify Image Names
 5183				"qualifyImageNames"?: bool
 5184
 5185				// Action
 5186				"action"?: "Build services" |
 5187					"Push services" |
 5188					"Run services" |
 5189					"Run a specific service" |
 5190					"Lock services" |
 5191					"Write service image digests" |
 5192					"Combine configuration" |
 5193					"Run a Docker Compose command"
 5194
 5195				// Additional Image Tags
 5196				"additionalImageTags"?: string
 5197
 5198				// Include Source Tags
 5199				"includeSourceTags"?: bool
 5200
 5201				// Include Latest Tag
 5202				"includeLatestTag"?: bool
 5203
 5204				// Build Images
 5205				"buildImages"?: bool
 5206
 5207				// Service Name
 5208				"serviceName"?: string
 5209
 5210				// Container Name
 5211				"containerName"?: string
 5212
 5213				// Ports
 5214				"ports"?: string
 5215
 5216				// Working Directory
 5217				"workingDirectory"?: string
 5218
 5219				// Entry Point Override
 5220				"entrypoint"?: string
 5221
 5222				// Command
 5223				"containerCommand"?: string
 5224
 5225				// Run in Background
 5226				"detached"?: bool
 5227
 5228				// Abort on Container Exit
 5229				"abortOnContainerExit"?: bool
 5230
 5231				// Image Digest Compose File
 5232				"imageDigestComposeFile"?: string
 5233
 5234				// Remove Build Options
 5235				"removeBuildOptions"?: bool
 5236
 5237				// Base Resolve Directory
 5238				"baseResolveDirectory"?: string
 5239
 5240				// Output Docker Compose File
 5241				"outputDockerComposeFile"?: string
 5242
 5243				// Command
 5244				"dockerComposeCommand"?: string
 5245
 5246				// Arguments
 5247				"arguments"?: string
 5248
 5249				// Docker Host Service Connection
 5250				"dockerHostEndpoint"?: string
 5251
 5252				// No-op if no Docker Compose File
 5253				"nopIfNoDockerComposeFile"?: bool
 5254
 5255				// Require Additional Docker Compose Files
 5256				"requireAdditionalDockerComposeFiles"?: bool
 5257
 5258				// Working Directory
 5259				"currentWorkingDirectory"?: string
 5260
 5261				// Docker Compose executable Path
 5262				"dockerComposePath"?: string
 5263			})
 5264			...
 5265		},
 5266		{
 5267			// Docker Compose
 5268			//
 5269			// Build, push or run multi-container Docker applications. Task can be used with
 5270			// Docker or Azure Container registry.
 5271			"task"!: null | bool | number | =~"^DockerCompose@1$" | [...] | {...}
 5272
 5273			// Docker Compose inputs
 5274			"inputs"?: null |
 5275			bool |
 5276			number |
 5277			string |
 5278			[...] |
 5279			close({
 5280				// Container Registry Type
 5281				"containerregistrytype"?: "Azure Container Registry" | "Container Registry"
 5282
 5283				// Docker Registry Service Connection
 5284				"dockerRegistryEndpoint"?: string
 5285
 5286				// Azure subscription
 5287				"azureSubscription"?: string
 5288
 5289				// Azure Container Registry
 5290				"azureContainerRegistry"?: string
 5291
 5292				// Docker Compose File
 5293				"dockerComposeFile"?: string
 5294
 5295				// Additional Docker Compose Files
 5296				"additionalDockerComposeFiles"?: string
 5297
 5298				// Environment Variables
 5299				"dockerComposeFileArgs"?: string
 5300
 5301				// Project Name
 5302				"projectName"?: string
 5303
 5304				// Qualify Image Names
 5305				"qualifyImageNames"?: bool
 5306
 5307				// Action
 5308				"action"?: "Build services" |
 5309					"Push services" |
 5310					"Run services" |
 5311					"Run a specific service" |
 5312					"Lock services" |
 5313					"Write service image digests" |
 5314					"Combine configuration" |
 5315					"Run a Docker Compose command"
 5316
 5317				// Additional Image Tags
 5318				"additionalImageTags"?: string
 5319
 5320				// Include Source Tags
 5321				"includeSourceTags"?: bool
 5322
 5323				// Include Latest Tag
 5324				"includeLatestTag"?: bool
 5325
 5326				// Build Images
 5327				"buildImages"?: bool
 5328
 5329				// Service Name
 5330				"serviceName"?: string
 5331
 5332				// Container Name
 5333				"containerName"?: string
 5334
 5335				// Ports
 5336				"ports"?: string
 5337
 5338				// Working Directory
 5339				"workingDirectory"?: string
 5340
 5341				// Entry Point Override
 5342				"entrypoint"?: string
 5343
 5344				// Command
 5345				"containerCommand"?: string
 5346
 5347				// Run in Background
 5348				"detached"?: bool
 5349
 5350				// Abort on Container Exit
 5351				"abortOnContainerExit"?: bool
 5352
 5353				// Image Digest Compose File
 5354				"imageDigestComposeFile"?: string
 5355
 5356				// Remove Build Options
 5357				"removeBuildOptions"?: bool
 5358
 5359				// Base Resolve Directory
 5360				"baseResolveDirectory"?: string
 5361
 5362				// Output Docker Compose File
 5363				"outputDockerComposeFile"?: string
 5364
 5365				// Command
 5366				"dockerComposeCommand"?: string
 5367
 5368				// Arguments
 5369				"arguments"?: string
 5370
 5371				// Docker Host Service Connection
 5372				"dockerHostEndpoint"?: string
 5373
 5374				// No-op if no Docker Compose File
 5375				"nopIfNoDockerComposeFile"?: bool
 5376
 5377				// Require Additional Docker Compose Files
 5378				"requireAdditionalDockerComposeFiles"?: bool
 5379
 5380				// Working Directory
 5381				"currentWorkingDirectory"?: string
 5382
 5383				// Docker Compose executable Path
 5384				"dockerComposePath"?: string
 5385			})
 5386			...
 5387		},
 5388		{
 5389			// Azure Monitor alerts (Deprecated)
 5390			//
 5391			// Configure alerts on available metrics for an Azure resource (Deprecated)
 5392			"task"!: null | bool | number | =~"^AzureMonitorAlerts@0$" | [...] | {...}
 5393
 5394			// Azure Monitor alerts (Deprecated) inputs
 5395			"inputs"!: null |
 5396			bool |
 5397			number |
 5398			string |
 5399			[...] |
 5400			close({
 5401				// Azure Subscription
 5402				"azureSubscription"!: string
 5403
 5404				// Resource Group
 5405				"ResourceGroupName"!: string
 5406
 5407				// Resource Type
 5408				"ResourceType"?: "Microsoft.Insights/components" |
 5409					"Microsoft.Web/sites" |
 5410					"Microsoft.Storage/storageAccounts" |
 5411					"Microsoft.Compute/virtualMachines"
 5412
 5413				// Resource name
 5414				"ResourceName"!: string
 5415
 5416				// Alert rules
 5417				"AlertRules"!: string
 5418
 5419				// Subscription owners, contributors and readers
 5420				"NotifyServiceOwners"?: bool
 5421
 5422				// Additional administrator emails
 5423				"NotifyEmails"?: string
 5424			})
 5425			...
 5426		},
 5427		{
 5428			// Xamarin Test Cloud
 5429			//
 5430			// [Deprecated] Test mobile apps with Xamarin Test Cloud using Xamarin.UITest.
 5431			// Instead, use the 'App Center test' task.
 5432			"task"!: null | bool | number | =~"^XamarinTestCloud@1$" | [...] | {...}
 5433
 5434			// Xamarin Test Cloud inputs
 5435			"inputs"!: null |
 5436			bool |
 5437			number |
 5438			string |
 5439			[...] |
 5440			close({
 5441				// App file
 5442				"appFile"!: string
 5443
 5444				// dSYM file (iOS only)
 5445				"dsymFile"?: string
 5446
 5447				// Team API key
 5448				"teamApiKey"!: string
 5449
 5450				// User email
 5451				"email"!: string
 5452
 5453				// Devices
 5454				"devices"!: string
 5455
 5456				// Series
 5457				"series"?: string
 5458
 5459				// Test assembly directory
 5460				"testAssemblyDirectory"!: string
 5461
 5462				// Parallelization
 5463				"parallelizationOption"?: "none" | "--fixture-chunk" | "--test-chunk"
 5464
 5465				// System language
 5466				"localeOption"?: "da_DK" |
 5467					"nl_NL" |
 5468					"en_GB" |
 5469					"en_US" |
 5470					"fr_FR" |
 5471					"de_DE" |
 5472					"ja_JP" |
 5473					"ru_RU" |
 5474					"es_MX" |
 5475					"es_ES" |
 5476					"user"
 5477
 5478				// Other locale
 5479				"userDefinedLocale"?: string
 5480
 5481				// test-cloud.exe location
 5482				"testCloudFile"?: string
 5483
 5484				// Optional arguments
 5485				"optionalArgs"?: string
 5486
 5487				// Publish results to Azure Pipelines
 5488				"publishNUnitResults"?: bool
 5489			})
 5490			...
 5491		},
 5492		{
 5493			// Service Fabric application deployment
 5494			//
 5495			// Deploy an Azure Service Fabric application to a cluster
 5496			"task"!: null | bool | number | =~"^ServiceFabricDeploy@1$" | [...] | {...}
 5497
 5498			// Service Fabric application deployment inputs
 5499			"inputs"!: null |
 5500			bool |
 5501			number |
 5502			string |
 5503			[...] |
 5504			close({
 5505				// Application Package
 5506				"applicationPackagePath"!: string
 5507
 5508				// Cluster Service Connection
 5509				"serviceConnectionName"!: string
 5510
 5511				// Publish Profile
 5512				"publishProfilePath"?: string
 5513
 5514				// Application Parameters
 5515				"applicationParameterPath"?: string
 5516
 5517				// Override Application Parameters
 5518				"overrideApplicationParameter"?: bool
 5519
 5520				// Compress Package
 5521				"compressPackage"?: bool
 5522
 5523				// CopyPackageTimeoutSec
 5524				"copyPackageTimeoutSec"?: string
 5525
 5526				// RegisterPackageTimeoutSec
 5527				"registerPackageTimeoutSec"?: string
 5528
 5529				// Overwrite Behavior
 5530				"overwriteBehavior"?: "Always" | "Never" | "SameAppTypeAndVersion"
 5531
 5532				// Skip upgrade for same Type and Version
 5533				"skipUpgradeSameTypeAndVersion"?: bool
 5534
 5535				// Skip package validation
 5536				"skipPackageValidation"?: bool
 5537
 5538				// Use Diff Package
 5539				"useDiffPackage"?: bool
 5540
 5541				// Override All Publish Profile Upgrade Settings
 5542				"overridePublishProfileSettings"?: bool
 5543
 5544				// Upgrade the Application
 5545				"isUpgrade"?: bool
 5546
 5547				// Unregister Unused Versions
 5548				"unregisterUnusedVersions"?: bool
 5549
 5550				// Upgrade Mode
 5551				"upgradeMode"?: "Monitored" | "UnmonitoredAuto" | "UnmonitoredManual"
 5552
 5553				// FailureAction
 5554				"FailureAction"?: "Rollback" | "Manual"
 5555
 5556				// UpgradeReplicaSetCheckTimeoutSec
 5557				"UpgradeReplicaSetCheckTimeoutSec"?: string
 5558
 5559				// TimeoutSec
 5560				"TimeoutSec"?: string
 5561
 5562				// ForceRestart
 5563				"ForceRestart"?: bool
 5564
 5565				// HealthCheckRetryTimeoutSec
 5566				"HealthCheckRetryTimeoutSec"?: string
 5567
 5568				// HealthCheckWaitDurationSec
 5569				"HealthCheckWaitDurationSec"?: string
 5570
 5571				// HealthCheckStableDurationSec
 5572				"HealthCheckStableDurationSec"?: string
 5573
 5574				// UpgradeDomainTimeoutSec
 5575				"UpgradeDomainTimeoutSec"?: string
 5576
 5577				// ConsiderWarningAsError
 5578				"ConsiderWarningAsError"?: bool
 5579
 5580				// DefaultServiceTypeHealthPolicy
 5581				"DefaultServiceTypeHealthPolicy"?: string
 5582
 5583				// MaxPercentUnhealthyDeployedApplications
 5584				"MaxPercentUnhealthyDeployedApplications"?: string
 5585
 5586				// UpgradeTimeoutSec
 5587				"UpgradeTimeoutSec"?: string
 5588
 5589				// ServiceTypeHealthPolicyMap
 5590				"ServiceTypeHealthPolicyMap"?: string
 5591
 5592				// Configure Docker settings
 5593				"configureDockerSettings"?: bool
 5594
 5595				// Registry Credentials Source
 5596				"registryCredentials"?: "AzureResourceManagerEndpoint" |
 5597					"ContainerRegistryEndpoint" |
 5598					"UsernamePassword"
 5599
 5600				// Docker Registry Service Connection
 5601				"dockerRegistryConnection"?: string
 5602
 5603				// Azure subscription
 5604				"azureSubscription"?: string
 5605
 5606				// Registry User Name
 5607				"registryUserName"?: string
 5608
 5609				// Registry Password
 5610				"registryPassword"?: string
 5611
 5612				// Password Encrypted
 5613				"passwordEncrypted"?: bool
 5614			})
 5615			...
 5616		},
 5617		{
 5618			// Xcode
 5619			//
 5620			// Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
 5621			"task"!: null | bool | number | =~"^Xcode@5$" | [...] | {...}
 5622
 5623			// Xcode inputs
 5624			"inputs"?: null |
 5625			bool |
 5626			number |
 5627			string |
 5628			[...] |
 5629			close({
 5630				// Actions
 5631				"actions"?: string
 5632
 5633				// Configuration
 5634				"configuration"?: string
 5635
 5636				// SDK
 5637				"sdk"?: string
 5638
 5639				// Workspace or project path
 5640				"xcWorkspacePath"?: string
 5641
 5642				// Scheme
 5643				"scheme"?: string
 5644
 5645				// Xcode version
 5646				"xcodeVersion"?: "8" | "9" | "10" | "11" | "12" | "13" | "default" | "specifyPath"
 5647
 5648				// Xcode developer path
 5649				"xcodeDeveloperDir"?: string
 5650
 5651				// Create app package
 5652				"packageApp"?: bool
 5653
 5654				// Archive path
 5655				"archivePath"?: string
 5656
 5657				// Export path
 5658				"exportPath"?: string
 5659
 5660				// Export options
 5661				"exportOptions"?: "auto" | "plist" | "specify"
 5662
 5663				// Export method
 5664				"exportMethod"?: string
 5665
 5666				// Team ID
 5667				"exportTeamId"?: string
 5668
 5669				// Export options plist
 5670				"exportOptionsPlist"?: string
 5671
 5672				// Export arguments
 5673				"exportArgs"?: string
 5674
 5675				// Signing style
 5676				"signingOption"?: "nosign" | "default" | "manual" | "auto"
 5677
 5678				// Signing identity
 5679				"signingIdentity"?: string
 5680
 5681				// Provisioning profile UUID
 5682				"provisioningProfileUuid"?: string
 5683
 5684				// Provisioning profile name
 5685				"provisioningProfileName"?: string
 5686
 5687				// Team ID
 5688				"teamId"?: string
 5689
 5690				// Destination platform
 5691				"destinationPlatformOption"?: "default" | "iOS" | "tvOS" | "macOS" | "custom"
 5692
 5693				// Custom destination platform
 5694				"destinationPlatform"?: string
 5695
 5696				// Destination type
 5697				"destinationTypeOption"?: "simulators" | "devices"
 5698
 5699				// Simulator
 5700				"destinationSimulators"?: string
 5701
 5702				// Device
 5703				"destinationDevices"?: string
 5704
 5705				// Arguments
 5706				"args"?: string
 5707
 5708				// Working directory
 5709				"workingDirectory"?: string
 5710
 5711				// Use xcpretty
 5712				"useXcpretty"?: bool
 5713
 5714				// Xcpretty arguments
 5715				"xcprettyArgs"?: string
 5716
 5717				// Publish test results to Azure Pipelines
 5718				"publishJUnitResults"?: bool
 5719
 5720				// Test run title
 5721				"testRunTitle"?: string
 5722			})
 5723			...
 5724		},
 5725		{
 5726			// Xcode Build
 5727			//
 5728			// Build an Xcode workspace on macOS
 5729			"task"!: null | bool | number | =~"^Xcode@3$" | [...] | {...}
 5730
 5731			// Xcode Build inputs
 5732			"inputs"?: null |
 5733			bool |
 5734			number |
 5735			string |
 5736			[...] |
 5737			close({
 5738				// Actions
 5739				"actions"?: string
 5740
 5741				// Configuration
 5742				"configuration"?: string
 5743
 5744				// SDK
 5745				"sdk"?: string
 5746
 5747				// Workspace/Project Path
 5748				"xcWorkspacePath"?: string
 5749
 5750				// Scheme
 5751				"scheme"?: string
 5752
 5753				// Create App Package
 5754				"packageApp"?: bool
 5755
 5756				// Archive Path
 5757				"archivePath"?: string
 5758
 5759				// Export Path
 5760				"exportPath"?: string
 5761
 5762				// Export Options
 5763				"exportOptions"?: "auto" | "plist" | "specify"
 5764
 5765				// Export Method
 5766				"exportMethod"?: string
 5767
 5768				// Team ID
 5769				"exportTeamId"?: string
 5770
 5771				// Export Options Plist
 5772				"exportOptionsPlist"?: string
 5773
 5774				// Export Arguments
 5775				"exportArgs"?: string
 5776
 5777				// Automatic Signing
 5778				"xcode8AutomaticSigning"?: bool
 5779
 5780				// Team ID
 5781				"teamId"?: string
 5782
 5783				// Override Using
 5784				"signMethod"?: "file" | "id"
 5785
 5786				// Signing Identity
 5787				"iosSigningIdentity"?: string
 5788
 5789				// Unlock Default Keychain
 5790				"unlockDefaultKeychain"?: bool
 5791
 5792				// Default Keychain Password
 5793				"defaultKeychainPassword"?: string
 5794
 5795				// Provisioning Profile UUID
 5796				"provProfileUuid"?: string
 5797
 5798				// P12 Certificate File
 5799				"p12"?: string
 5800
 5801				// P12 Password
 5802				"p12pwd"?: string
 5803
 5804				// Provisioning Profile File
 5805				"provProfile"?: string
 5806
 5807				// Remove Profile After Build
 5808				"removeProfile"?: bool
 5809
 5810				// Arguments
 5811				"args"?: string
 5812
 5813				// Working Directory
 5814				"cwd"?: string
 5815
 5816				// Output Directory
 5817				"outputPattern"?: string
 5818
 5819				// Xcode Developer Path
 5820				"xcodeDeveloperDir"?: string
 5821
 5822				// Use xcpretty
 5823				"useXcpretty"?: bool
 5824
 5825				// Publish to VSTS/TFS
 5826				"publishJUnitResults"?: bool
 5827			})
 5828			...
 5829		},
 5830		{
 5831			// Xcode
 5832			//
 5833			// Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
 5834			"task"!: null | bool | number | =~"^Xcode@4$" | [...] | {...}
 5835
 5836			// Xcode inputs
 5837			"inputs"?: null |
 5838			bool |
 5839			number |
 5840			string |
 5841			[...] |
 5842			close({
 5843				// Actions
 5844				"actions"?: string
 5845
 5846				// Configuration
 5847				"configuration"?: string
 5848
 5849				// SDK
 5850				"sdk"?: string
 5851
 5852				// Workspace or project path
 5853				"xcWorkspacePath"?: string
 5854
 5855				// Scheme
 5856				"scheme"?: string
 5857
 5858				// Xcode version
 5859				"xcodeVersion"?: "8" | "9" | "default" | "specifyPath"
 5860
 5861				// Xcode developer path
 5862				"xcodeDeveloperDir"?: string
 5863
 5864				// Create app package
 5865				"packageApp"?: bool
 5866
 5867				// Archive path
 5868				"archivePath"?: string
 5869
 5870				// Export path
 5871				"exportPath"?: string
 5872
 5873				// Export options
 5874				"exportOptions"?: "auto" | "plist" | "specify"
 5875
 5876				// Export method
 5877				"exportMethod"?: string
 5878
 5879				// Team ID
 5880				"exportTeamId"?: string
 5881
 5882				// Export options plist
 5883				"exportOptionsPlist"?: string
 5884
 5885				// Export arguments
 5886				"exportArgs"?: string
 5887
 5888				// Signing style
 5889				"signingOption"?: "nosign" | "default" | "manual" | "auto"
 5890
 5891				// Signing identity
 5892				"signingIdentity"?: string
 5893
 5894				// Provisioning profile UUID
 5895				"provisioningProfileUuid"?: string
 5896
 5897				// Team ID
 5898				"teamId"?: string
 5899
 5900				// Destination platform
 5901				"destinationPlatformOption"?: "default" | "iOS" | "tvOS" | "macOS" | "custom"
 5902
 5903				// Custom destination platform
 5904				"destinationPlatform"?: string
 5905
 5906				// Destination type
 5907				"destinationTypeOption"?: "simulators" | "devices"
 5908
 5909				// Simulator
 5910				"destinationSimulators"?: string
 5911
 5912				// Device
 5913				"destinationDevices"?: string
 5914
 5915				// Arguments
 5916				"args"?: string
 5917
 5918				// Working directory
 5919				"workingDirectory"?: string
 5920
 5921				// Output directory
 5922				"outputPattern"?: string
 5923
 5924				// Use xcpretty
 5925				"useXcpretty"?: bool
 5926
 5927				// Publish test results to VSTS/TFS
 5928				"publishJUnitResults"?: bool
 5929			})
 5930			...
 5931		},
 5932		{
 5933			// Xcode Build
 5934			//
 5935			// Build an Xcode workspace on Mac OS
 5936			"task"!: null | bool | number | =~"^Xcode@2$" | [...] | {...}
 5937
 5938			// Xcode Build inputs
 5939			"inputs"?: null |
 5940			bool |
 5941			number |
 5942			string |
 5943			[...] |
 5944			close({
 5945				// Actions
 5946				"actions"?: string
 5947
 5948				// Configuration
 5949				"configuration"?: string
 5950
 5951				// SDK
 5952				"sdk"?: string
 5953
 5954				// Workspace/Project Path
 5955				"xcWorkspacePath"?: string
 5956
 5957				// Scheme
 5958				"scheme"?: string
 5959
 5960				// Create App Package
 5961				"packageApp"?: bool
 5962
 5963				// Create Package (IPA) using
 5964				"packageTool"?: "xcrun" | "xcodebuild"
 5965
 5966				// Archive Path
 5967				"archivePath"?: string
 5968
 5969				// Export Path
 5970				"exportPath"?: string
 5971
 5972				// Export Options
 5973				"exportOptions"?: "auto" | "plist" | "specify"
 5974
 5975				// Export Method
 5976				"exportMethod"?: string
 5977
 5978				// Team ID
 5979				"exportTeamId"?: string
 5980
 5981				// Export Options Plist
 5982				"exportOptionsPlist"?: string
 5983
 5984				// Automatic Signing
 5985				"xcode8AutomaticSigning"?: bool
 5986
 5987				// Team ID
 5988				"teamId"?: string
 5989
 5990				// Override Using
 5991				"signMethod"?: "file" | "id"
 5992
 5993				// Signing Identity
 5994				"iosSigningIdentity"?: string
 5995
 5996				// Unlock Default Keychain
 5997				"unlockDefaultKeychain"?: bool
 5998
 5999				// Default Keychain Password
 6000				"defaultKeychainPassword"?: string
 6001
 6002				// Provisioning Profile UUID
 6003				"provProfileUuid"?: string
 6004
 6005				// P12 Certificate File
 6006				"p12"?: string
 6007
 6008				// P12 Password
 6009				"p12pwd"?: string
 6010
 6011				// Provisioning Profile File
 6012				"provProfile"?: string
 6013
 6014				// Remove Profile After Build
 6015				"removeProfile"?: bool
 6016
 6017				// Arguments
 6018				"args"?: string
 6019
 6020				// Working Directory
 6021				"cwd"?: string
 6022
 6023				// Output Directory
 6024				"outputPattern"?: string
 6025
 6026				// Xcode Developer Path
 6027				"xcodeDeveloperDir"?: string
 6028
 6029				// Use xcpretty
 6030				"useXcpretty"?: bool
 6031
 6032				// Publish to VSTS/TFS
 6033				"publishJUnitResults"?: bool
 6034
 6035				// Use xctool
 6036				"useXctool"?: bool
 6037
 6038				// xctool Test Reporter Format
 6039				"xctoolReporter"?: string
 6040			})
 6041			...
 6042		},
 6043		{
 6044			// NuGet publisher
 6045			//
 6046			// Deprecated: use the “NuGet” task instead. It works with the new Tool
 6047			// Installer framework so you can easily use new versions of NuGet without
 6048			// waiting for a task update, provides better support for authenticated feeds
 6049			// outside this organization/collection, and uses NuGet 4 by default.
 6050			"task"!: null | bool | number | =~"^NuGetPublisher@0$" | [...] | {...}
 6051
 6052			// NuGet publisher inputs
 6053			"inputs"?: null |
 6054			bool |
 6055			number |
 6056			string |
 6057			[...] |
 6058			close({
 6059				// Path/Pattern to nupkg
 6060				"searchPattern"?: string
 6061
 6062				// Feed type
 6063				"nuGetFeedType"?: "external" | "internal"
 6064
 6065				// NuGet Service Connection
 6066				"connectedServiceName"?: string
 6067
 6068				// Internal Feed URL
 6069				"feedName"?: string
 6070
 6071				// NuGet Arguments
 6072				"nuGetAdditionalArgs"?: string
 6073
 6074				// Verbosity
 6075				"verbosity"?: "-" | "Quiet" | "Normal" | "Detailed"
 6076
 6077				// NuGet Version
 6078				"nuGetVersion"?: "3.3.0" | "3.5.0.1829" | "4.0.0.2283" | "custom"
 6079
 6080				// Path to NuGet.exe
 6081				"nuGetPath"?: string
 6082
 6083				// Continue if no packages match the "Path/Pattern to nupkg"
 6084				"continueOnEmptyNupkgMatch"?: bool
 6085			})
 6086			...
 6087		},
 6088		{
 6089			// Query work items
 6090			//
 6091			// Execute a work item query and check the number of items returned
 6092			"task"!: null | bool | number | =~"^queryWorkItems@0$" | [...] | {...}
 6093
 6094			// Query work items inputs
 6095			"inputs"!: null |
 6096			bool |
 6097			number |
 6098			string |
 6099			[...] |
 6100			close({
 6101				// Query
 6102				"queryId"!: string
 6103
 6104				// Upper threshold
 6105				"maxThreshold"?: string
 6106
 6107				// Lower threshold
 6108				"minThreshold"?: string
 6109			})
 6110			...
 6111		},
 6112		{
 6113			// Azure Web App for Containers
 6114			//
 6115			// Deploy containers to Azure App Service
 6116			"task"!: null | bool | number | =~"^AzureWebAppContainer@1$" | [...] | {...}
 6117
 6118			// Azure Web App for Containers inputs
 6119			"inputs"!: null |
 6120			bool |
 6121			number |
 6122			string |
 6123			[...] |
 6124			close({
 6125				// Azure subscription
 6126				"azureSubscription"!: string
 6127
 6128				// App name
 6129				"appName"!: string
 6130
 6131				// Deploy to Slot or App Service Environment
 6132				"deployToSlotOrASE"?: bool
 6133
 6134				// Resource group
 6135				"resourceGroupName"?: string
 6136
 6137				// Slot
 6138				"slotName"?: string
 6139
 6140				// Image name
 6141				"containers"?: string
 6142
 6143				// Configuration File
 6144				"multicontainerConfigFile"?: string
 6145
 6146				// Startup command
 6147				"containerCommand"?: string
 6148
 6149				// App settings
 6150				"appSettings"?: string
 6151
 6152				// Configuration settings
 6153				"configurationStrings"?: string
 6154			})
 6155			...
 6156		},
 6157		{
 6158			// SQL Server database deploy
 6159			//
 6160			// Deploy a SQL Server database using DACPAC or SQL scripts
 6161			"task"!: null | bool | number | =~"^SqlDacpacDeploymentOnMachineGroup@0$" | [...] | {...}
 6162
 6163			// SQL Server database deploy inputs
 6164			"inputs"?: null |
 6165			bool |
 6166			number |
 6167			string |
 6168			[...] |
 6169			close({
 6170				// Deploy SQL Using
 6171				"TaskType"?: "dacpac" | "sqlQuery" | "sqlInline"
 6172
 6173				// DACPAC File
 6174				"DacpacFile"?: string
 6175
 6176				// Sql File
 6177				"SqlFile"?: string
 6178
 6179				// Execute within a transaction
 6180				"ExecuteInTransaction"?: bool
 6181
 6182				// Acquire an exclusive app lock while executing script(s)
 6183				"ExclusiveLock"?: bool
 6184
 6185				// App lock name
 6186				"AppLockName"?: string
 6187
 6188				// Inline Sql
 6189				"InlineSql"?: string
 6190
 6191				// Specify SQL Using
 6192				"TargetMethod"?: "server" | "connectionString" | "publishProfile"
 6193
 6194				// Server Name
 6195				"ServerName"?: string
 6196
 6197				// Database Name
 6198				"DatabaseName"?: string
 6199
 6200				// Authentication
 6201				"AuthScheme"?: "windowsAuthentication" | "sqlServerAuthentication"
 6202
 6203				// SQL User name
 6204				"SqlUsername"?: string
 6205
 6206				// SQL Password
 6207				"SqlPassword"?: string
 6208
 6209				// Connection String
 6210				"ConnectionString"?: string
 6211
 6212				// Publish Profile
 6213				"PublishProfile"?: string
 6214
 6215				// Additional Arguments
 6216				"AdditionalArguments"?: string
 6217
 6218				// Additional Arguments
 6219				"AdditionalArgumentsSql"?: string
 6220			})
 6221			...
 6222		},
 6223		{
 6224			// Cache (Beta)
 6225			//
 6226			// Cache files between runs
 6227			"task"!: null | bool | number | =~"^CacheBeta@1$" | [...] | {...}
 6228
 6229			// Cache (Beta) inputs
 6230			"inputs"!: null |
 6231			bool |
 6232			number |
 6233			string |
 6234			[...] |
 6235			close({
 6236				// Key
 6237				"key"!: string
 6238
 6239				// Path
 6240				"path"!: string
 6241
 6242				// Cache hit variable
 6243				"cacheHitVar"?: string
 6244
 6245				// Additional restore key prefixes
 6246				"restoreKeys"?: string
 6247			})
 6248			...
 6249		},
 6250		{
 6251			// Cache (Beta)
 6252			//
 6253			// Cache files between runs
 6254			"task"!: null | bool | number | =~"^CacheBeta@0$" | [...] | {...}
 6255
 6256			// Cache (Beta) inputs
 6257			"inputs"!: null |
 6258			bool |
 6259			number |
 6260			string |
 6261			[...] |
 6262			close({
 6263				// Key
 6264				"key"!: string
 6265
 6266				// Path
 6267				"path"!: string
 6268
 6269				// Cache hit variable
 6270				"cacheHitVar"?: string
 6271			})
 6272			...
 6273		},
 6274		{
 6275			// Cache
 6276			//
 6277			// Cache files between runs
 6278			"task"!: null | bool | number | =~"^Cache@2$" | [...] | {...}
 6279
 6280			// Cache inputs
 6281			"inputs"!: null |
 6282			bool |
 6283			number |
 6284			string |
 6285			[...] |
 6286			close({
 6287				// Key
 6288				"key"!: string
 6289
 6290				// Path
 6291				"path"!: string
 6292
 6293				// Cache hit variable
 6294				"cacheHitVar"?: string
 6295
 6296				// Additional restore key prefixes
 6297				"restoreKeys"?: string
 6298			})
 6299			...
 6300		},
 6301		{
 6302			// CMake
 6303			//
 6304			// Build with the CMake cross-platform build system
 6305			"task"!: null | bool | number | =~"^CMake@1$" | [...] | {...}
 6306
 6307			// CMake inputs
 6308			"inputs"?: null |
 6309			bool |
 6310			number |
 6311			string |
 6312			[...] |
 6313			close({
 6314				// Working Directory
 6315				"workingDirectory"?: string
 6316
 6317				// Arguments
 6318				"cmakeArgs"?: string
 6319
 6320				// Run cmake command inside shell
 6321				"runInsideShell"?: bool
 6322			})
 6323			...
 6324		},
 6325		{
 6326			// Mobile Center Test
 6327			//
 6328			// Test mobile app packages with Visual Studio Mobile Center.
 6329			"task"!: null | bool | number | =~"^VSMobileCenterTest@0$" | [...] | {...}
 6330
 6331			// Mobile Center Test inputs
 6332			"inputs"!: null |
 6333			bool |
 6334			number |
 6335			string |
 6336			[...] |
 6337			close({
 6338				// Binary Application File Path
 6339				"app"!: string
 6340
 6341				// Artifacts Directory
 6342				"artifactsDir"?: string
 6343
 6344				// Prepare Tests
 6345				"enablePrepare"?: bool
 6346
 6347				// Test Framework
 6348				"framework"?: "appium" | "espresso" | "calabash" | "uitest" | "xcuitest"
 6349
 6350				// Build Directory
 6351				"appiumBuildDir"?: string
 6352
 6353				// Build Directory
 6354				"espressoBuildDir"?: string
 6355
 6356				// Test APK Path
 6357				"espressoTestApkPath"?: string
 6358
 6359				// Project Directory
 6360				"calabashProjectDir"?: string
 6361
 6362				// Cucumber Config File
 6363				"calabashConfigFile"?: string
 6364
 6365				// Profile to run
 6366				"calabashProfile"?: string
 6367
 6368				// Skip Configuration Check
 6369				"calabashSkipConfigCheck"?: bool
 6370
 6371				// Build Directory
 6372				"uitestBuildDir"?: string
 6373
 6374				// Store File
 6375				"uitestStoreFile"?: string
 6376
 6377				// Store Password
 6378				"uitestStorePass"?: string
 6379
 6380				// Key Alias
 6381				"uitestKeyAlias"?: string
 6382
 6383				// Key Password
 6384				"uitestKeyPass"?: string
 6385
 6386				// Test Tools Directory
 6387				"uitestToolsDir"?: string
 6388
 6389				// Signing Information
 6390				"signInfo"?: string
 6391
 6392				// Build Directory
 6393				"xcuitestBuildDir"?: string
 6394
 6395				// Test IPA Path
 6396				"xcuitestTestIpaPath"?: string
 6397
 6398				// Additional Options
 6399				"prepareOpts"?: string
 6400
 6401				// Run Tests
 6402				"enableRun"?: bool
 6403
 6404				// Authentication Method
 6405				"credsType"?: "serviceEndpoint" | "inputs"
 6406
 6407				// Mobile Center Connection
 6408				"serverEndpoint"?: string
 6409
 6410				// Mobile Center Username
 6411				"username"?: string
 6412
 6413				// Mobile Center Password
 6414				"password"?: string
 6415
 6416				// App Slug
 6417				"appSlug"?: string
 6418
 6419				// Devices
 6420				"devices"?: string
 6421
 6422				// Test Series
 6423				"series"?: string
 6424
 6425				// dSYM Directory
 6426				"dsymDir"?: string
 6427
 6428				// System Language
 6429				"locale"?: "da_DK" |
 6430					"nl_NL" |
 6431					"en_GB" |
 6432					"en_US" |
 6433					"fr_FR" |
 6434					"de_DE" |
 6435					"ja_JP" |
 6436					"ru_RU" |
 6437					"es_MX" |
 6438					"es_ES" |
 6439					"user"
 6440
 6441				// Other Locale
 6442				"userDefinedLocale"?: string
 6443
 6444				// Addtional Options for Login
 6445				"loginOpts"?: string
 6446
 6447				// Additional Options for Run
 6448				"runOpts"?: string
 6449
 6450				// Do not wait for test result
 6451				"async"?: bool
 6452
 6453				// mobile-center CLI Location
 6454				"cliLocationOverride"?: string
 6455
 6456				// Enable Debug Output
 6457				"debug"?: bool
 6458			})
 6459			...
 6460		},
 6461		{
 6462			// App Center test
 6463			//
 6464			// Test app packages with Visual Studio App Center
 6465			"task"!: null | bool | number | =~"^AppCenterTest@1$" | [...] | {...}
 6466
 6467			// App Center test inputs
 6468			"inputs"!: null |
 6469			bool |
 6470			number |
 6471			string |
 6472			[...] |
 6473			close({
 6474				// Binary application file path
 6475				"appFile"!: string
 6476
 6477				// Artifacts directory
 6478				"artifactsDirectory"?: string
 6479
 6480				// Prepare tests
 6481				"prepareTests"?: bool
 6482
 6483				// Test framework
 6484				"frameworkOption"?: "appium" | "espresso" | "calabash" | "uitest" | "xcuitest"
 6485
 6486				// Build directory
 6487				"appiumBuildDirectory"?: string
 6488
 6489				// Build directory
 6490				"espressoBuildDirectory"?: string
 6491
 6492				// Test APK path
 6493				"espressoTestApkFile"?: string
 6494
 6495				// Project directory
 6496				"calabashProjectDirectory"?: string
 6497
 6498				// Cucumber config file
 6499				"calabashConfigFile"?: string
 6500
 6501				// Profile to run
 6502				"calabashProfile"?: string
 6503
 6504				// Skip Configuration Check
 6505				"calabashSkipConfigCheck"?: bool
 6506
 6507				// Build directory
 6508				"uiTestBuildDirectory"?: string
 6509
 6510				// Store file
 6511				"uitestStorePath"?: string
 6512
 6513				// Store password
 6514				"uiTestStorePassword"?: string
 6515
 6516				// Key alias
 6517				"uitestKeyAlias"?: string
 6518
 6519				// Key password
 6520				"uiTestKeyPassword"?: string
 6521
 6522				// Test tools directory
 6523				"uiTestToolsDirectory"?: string
 6524
 6525				// Signing information
 6526				"signInfo"?: string
 6527
 6528				// Build directory
 6529				"xcUITestBuildDirectory"?: string
 6530
 6531				// Test IPA path
 6532				"xcUITestIpaFile"?: string
 6533
 6534				// Additional options
 6535				"prepareOptions"?: string
 6536
 6537				// Run tests
 6538				"runTests"?: bool
 6539
 6540				// Authentication method
 6541				"credentialsOption"?: "serviceEndpoint" | "inputs"
 6542
 6543				// App Center service connection
 6544				"serverEndpoint"?: string
 6545
 6546				// App Center username
 6547				"username"?: string
 6548
 6549				// App Center password
 6550				"password"?: string
 6551
 6552				// App slug
 6553				"appSlug"?: string
 6554
 6555				// Devices
 6556				"devices"?: string
 6557
 6558				// Test series
 6559				"series"?: string
 6560
 6561				// dSYM directory
 6562				"dsymDirectory"?: string
 6563
 6564				// System language
 6565				"localeOption"?: "da_DK" |
 6566					"nl_NL" |
 6567					"en_GB" |
 6568					"en_US" |
 6569					"fr_FR" |
 6570					"de_DE" |
 6571					"ja_JP" |
 6572					"ru_RU" |
 6573					"es_MX" |
 6574					"es_ES" |
 6575					"user"
 6576
 6577				// Other locale
 6578				"userDefinedLocale"?: string
 6579
 6580				// Additional options for login
 6581				"loginOptions"?: string
 6582
 6583				// Additional options for run
 6584				"runOptions"?: string
 6585
 6586				// Do not wait for test result
 6587				"skipWaitingForResults"?: bool
 6588
 6589				// App Center CLI location
 6590				"cliFile"?: string
 6591
 6592				// Enable debug output
 6593				"showDebugOutput"?: bool
 6594			})
 6595			...
 6596		},
 6597		{
 6598			// Download secure file
 6599			//
 6600			// Download a secure file to the agent machine
 6601			"task"!: null | bool | number | =~"^DownloadSecureFile@1$" | [...] | {...}
 6602
 6603			// Download secure file inputs
 6604			"inputs"!: null |
 6605			bool |
 6606			number |
 6607			string |
 6608			[...] |
 6609			close({
 6610				// Secure File
 6611				"secureFile"!: string
 6612
 6613				// Retry Count
 6614				"retryCount"?: string
 6615
 6616				// Socket Timeout
 6617				"socketTimeout"?: string
 6618			})
 6619			...
 6620		},
 6621		{
 6622			// Azure Container Apps Deploy
 6623			//
 6624			// An Azure DevOps Task to build and deploy Azure Container Apps.
 6625			"task"!: null | bool | number | =~"^AzureContainerApps@0$" | [...] | {...}
 6626
 6627			// Azure Container Apps Deploy inputs
 6628			"inputs"!: null |
 6629			bool |
 6630			number |
 6631			string |
 6632			[...] |
 6633			close({
 6634				// Working Directory
 6635				"workingDirectory"?: string
 6636
 6637				// Application source path
 6638				"appSourcePath"?: string
 6639
 6640				// Azure Resource Manager connection
 6641				"azureSubscription"!: string
 6642
 6643				// Azure Container Registry name
 6644				"acrName"?: string
 6645
 6646				// Azure Container Registry username
 6647				"acrUsername"?: string
 6648
 6649				// Azure Container Registry password
 6650				"acrPassword"?: string
 6651
 6652				// Dockerfile path
 6653				"dockerfilePath"?: string
 6654
 6655				// Docker image to build
 6656				"imageToBuild"?: string
 6657
 6658				// Docker image to deploy
 6659				"imageToDeploy"?: string
 6660
 6661				// Azure Container App name
 6662				"containerAppName"?: string
 6663
 6664				// Azure resource group name
 6665				"resourceGroup"?: string
 6666
 6667				// Azure Container App environment
 6668				"containerAppEnvironment"?: string
 6669
 6670				// Application runtime stack
 6671				"runtimeStack"?: string
 6672
 6673				// Application target port
 6674				"targetPort"?: string
 6675
 6676				// Location of the Container App
 6677				"location"?: string
 6678
 6679				// Environment variables
 6680				"environmentVariables"?: string
 6681
 6682				// Ingress setting
 6683				"ingress"?: string
 6684
 6685				// YAML configuration file path
 6686				"yamlConfigPath"?: string
 6687
 6688				// Disable telemetry
 6689				"disableTelemetry"?: bool
 6690			})
 6691			...
 6692		},
 6693		{
 6694			// Azure Container Apps Deploy
 6695			//
 6696			// An Azure DevOps Task to build and deploy Azure Container Apps.
 6697			"task"!: null | bool | number | =~"^AzureContainerApps@1$" | [...] | {...}
 6698
 6699			// Azure Container Apps Deploy inputs
 6700			"inputs"!: null |
 6701			bool |
 6702			number |
 6703			string |
 6704			[...] |
 6705			close({
 6706				// Working Directory
 6707				"workingDirectory"?: string
 6708
 6709				// Application source path
 6710				"appSourcePath"?: string
 6711
 6712				// Azure Resource Manager connection
 6713				"azureSubscription"!: string
 6714
 6715				// Azure Container Registry name
 6716				"acrName"?: string
 6717
 6718				// Azure Container Registry username
 6719				"acrUsername"?: string
 6720
 6721				// Azure Container Registry password
 6722				"acrPassword"?: string
 6723
 6724				// Dockerfile path
 6725				"dockerfilePath"?: string
 6726
 6727				// Docker image to build
 6728				"imageToBuild"?: string
 6729
 6730				// Docker image to deploy
 6731				"imageToDeploy"?: string
 6732
 6733				// Azure Container App name
 6734				"containerAppName"?: string
 6735
 6736				// Azure resource group name
 6737				"resourceGroup"?: string
 6738
 6739				// Azure Container App environment
 6740				"containerAppEnvironment"?: string
 6741
 6742				// Application runtime stack
 6743				"runtimeStack"?: string
 6744
 6745				// Application target port
 6746				"targetPort"?: string
 6747
 6748				// Location of the Container App
 6749				"location"?: string
 6750
 6751				// Environment variables
 6752				"environmentVariables"?: string
 6753
 6754				// Ingress setting
 6755				"ingress"?: string
 6756
 6757				// YAML configuration file path
 6758				"yamlConfigPath"?: string
 6759
 6760				// Disable telemetry
 6761				"disableTelemetry"?: bool
 6762			})
 6763			...
 6764		},
 6765		{
 6766			// Use Ruby version
 6767			//
 6768			// Use the specified version of Ruby from the tool cache, optionally adding it to the PATH
 6769			"task"!: null | bool | number | =~"^UseRubyVersion@0$" | [...] | {...}
 6770
 6771			// Use Ruby version inputs
 6772			"inputs"?: null |
 6773			bool |
 6774			number |
 6775			string |
 6776			[...] |
 6777			close({
 6778				// Version spec
 6779				"versionSpec"?: string
 6780
 6781				// Add to PATH
 6782				"addToPath"?: bool
 6783			})
 6784			...
 6785		},
 6786		{
 6787			// Grunt
 6788			//
 6789			// Run the Grunt JavaScript task runner
 6790			"task"!: null | bool | number | =~"^Grunt@0$" | [...] | {...}
 6791
 6792			// Grunt inputs
 6793			"inputs"?: null |
 6794			bool |
 6795			number |
 6796			string |
 6797			[...] |
 6798			close({
 6799				// Grunt File Path
 6800				"gruntFile"?: string
 6801
 6802				// Grunt Task(s)
 6803				"targets"?: string
 6804
 6805				// Arguments
 6806				"arguments"?: string
 6807
 6808				// Working Directory
 6809				"workingDirectory"?: string
 6810
 6811				// grunt-cli location
 6812				"gruntCli"?: string
 6813
 6814				// Publish to Azure Pipelines
 6815				"publishJUnitResults"?: bool
 6816
 6817				// Test Results Files
 6818				"testResultsFiles"?: string
 6819
 6820				// Test Run Title
 6821				"testRunTitle"?: string
 6822
 6823				// Enable Code Coverage
 6824				"enableCodeCoverage"?: bool
 6825
 6826				// Test Framework
 6827				"testFramework"?: "Mocha" | "Jasmine"
 6828
 6829				// Source Files
 6830				"srcFiles"?: string
 6831
 6832				// Test Script Files
 6833				"testFiles"?: string
 6834			})
 6835			...
 6836		},
 6837		{
 6838			// Azure SQL Database deployment
 6839			//
 6840			// Deploy an Azure SQL Database using DACPAC or run scripts using SQLCMD
 6841			"task"!: null | bool | number | =~"^SqlAzureDacpacDeployment@1$" | [...] | {...}
 6842
 6843			// Azure SQL Database deployment inputs
 6844			"inputs"?: null |
 6845			bool |
 6846			number |
 6847			string |
 6848			[...] |
 6849			close({
 6850				// Azure Service Connection Type
 6851				"azureConnectionType"?: "ConnectedServiceName" | "ConnectedServiceNameARM"
 6852
 6853				// Azure Classic Subscription
 6854				"azureClassicSubscription"?: string
 6855
 6856				// Azure Subscription
 6857				"azureSubscription"?: string
 6858
 6859				// Authentication Type
 6860				"AuthenticationType"?: "server" |
 6861					"aadAuthenticationPassword" |
 6862					"aadAuthenticationIntegrated" |
 6863					"connectionString" |
 6864					"servicePrincipal"
 6865
 6866				// Azure SQL Server
 6867				"ServerName"?: string
 6868
 6869				// Database
 6870				"DatabaseName"?: string
 6871
 6872				// Login
 6873				"SqlUsername"?: string
 6874
 6875				// Password
 6876				"SqlPassword"?: string
 6877
 6878				// Login
 6879				"aadSqlUsername"?: string
 6880
 6881				// Password
 6882				"aadSqlPassword"?: string
 6883
 6884				// Connection String
 6885				"ConnectionString"?: string
 6886
 6887				// Deploy type
 6888				"deployType"?: "DacpacTask" | "SqlTask" | "InlineSqlTask"
 6889
 6890				// Action
 6891				"DeploymentAction"?: "Publish" |
 6892					"Extract" |
 6893					"Export" |
 6894					"Import" |
 6895					"Script" |
 6896					"DriftReport" |
 6897					"DeployReport"
 6898
 6899				// DACPAC File
 6900				"DacpacFile"?: string
 6901
 6902				// BACPAC File
 6903				"BacpacFile"?: string
 6904
 6905				// SQL Script
 6906				"SqlFile"?: string
 6907
 6908				// Inline SQL Script
 6909				"SqlInline"?: string
 6910
 6911				// Publish Profile
 6912				"PublishProfile"?: string
 6913
 6914				// Additional SqlPackage.exe Arguments
 6915				"AdditionalArguments"?: string
 6916
 6917				// Additional Invoke-Sqlcmd Arguments
 6918				"SqlAdditionalArguments"?: string
 6919
 6920				// Additional Invoke-Sqlcmd Arguments
 6921				"InlineAdditionalArguments"?: string
 6922
 6923				// Specify Firewall Rules Using
 6924				"IpDetectionMethod"?: "AutoDetect" | "IPAddressRange"
 6925
 6926				// Start IP Address
 6927				"StartIpAddress"?: string
 6928
 6929				// End IP Address
 6930				"EndIpAddress"?: string
 6931
 6932				// Delete Rule After Task Ends
 6933				"DeleteFirewallRule"?: bool
 6934			})
 6935			...
 6936		},
 6937		{
 6938			// Container Structure Test
 6939			//
 6940			// Uses container-structure-test
 6941			// (https://github.com/GoogleContainerTools/container-structure-test) to
 6942			// validate the structure of an image based on four categories of tests -
 6943			// command tests, file existence tests, file content tests and metadata tests
 6944			"task"!: null | bool | number | =~"^ContainerStructureTest@0$" | [...] | {...}
 6945
 6946			// Container Structure Test inputs
 6947			"inputs"!: null |
 6948			bool |
 6949			number |
 6950			string |
 6951			[...] |
 6952			close({
 6953				// Docker registry service connection
 6954				"dockerRegistryServiceConnection"!: string
 6955
 6956				// Container repository
 6957				"repository"!: string
 6958
 6959				// Tag
 6960				"tag"?: string
 6961
 6962				// Config file path
 6963				"configFile"!: string
 6964
 6965				// Test run title
 6966				"testRunTitle"?: string
 6967
 6968				// Fail task if there are test failures
 6969				"failTaskOnFailedTests"?: bool
 6970			})
 6971			...
 6972		},
 6973		{
 6974			// [Deprecated] IIS Web App deployment
 6975			//
 6976			// Deploy using MSDeploy, then create/update websites and app pools
 6977			"task"!: null | bool | number | =~"^IISWebAppDeployment@1$" | [...] | {...}
 6978
 6979			// [Deprecated] IIS Web App deployment inputs
 6980			"inputs"!: null |
 6981			bool |
 6982			number |
 6983			string |
 6984			[...] |
 6985			close({
 6986				// Machines
 6987				"EnvironmentName"!: string
 6988
 6989				// Admin Login
 6990				"AdminUserName"?: string
 6991
 6992				// Password
 6993				"AdminPassword"?: string
 6994
 6995				// Protocol
 6996				"WinRMProtocol"?: "Http" | "Https"
 6997
 6998				// Test Certificate
 6999				"TestCertificate"?: bool
 7000
 7001				// Web Deploy Package
 7002				"WebDeployPackage"!: string
 7003
 7004				// Web Deploy Parameter File
 7005				"WebDeployParamFile"?: string
 7006
 7007				// Override Parameters
 7008				"OverRideParams"?: string
 7009
 7010				// Create or Update Website
 7011				"CreateWebSite"?: bool
 7012
 7013				// Website Name
 7014				"WebSiteName"?: string
 7015
 7016				// Physical Path
 7017				"WebSitePhysicalPath"?: string
 7018
 7019				// Physical Path Authentication
 7020				"WebSitePhysicalPathAuth"?: "WebSiteUserPassThrough" | "WebSiteWindowsAuth"
 7021
 7022				// User Name
 7023				"WebSiteAuthUserName"?: string
 7024
 7025				// Password
 7026				"WebSiteAuthUserPassword"?: string
 7027
 7028				// Add Binding
 7029				"AddBinding"?: bool
 7030
 7031				// Assign Duplicate Binding
 7032				"AssignDuplicateBinding"?: bool
 7033
 7034				// Protocol
 7035				"Protocol"?: "https" | "http"
 7036
 7037				// IP Address
 7038				"IPAddress"?: string
 7039
 7040				// Port
 7041				"Port"?: string
 7042
 7043				// Server Name Indication Required
 7044				"ServerNameIndication"?: bool
 7045
 7046				// Host Name
 7047				"HostNameWithOutSNI"?: string
 7048
 7049				// Host Name
 7050				"HostNameWithHttp"?: string
 7051
 7052				// Host Name
 7053				"HostNameWithSNI"?: string
 7054
 7055				// SSL Certificate Thumb Print
 7056				"SSLCertThumbPrint"?: string
 7057
 7058				// Create or Update Application Pool
 7059				"CreateAppPool"?: bool
 7060
 7061				// Name
 7062				"AppPoolName"?: string
 7063
 7064				// .NET Version
 7065				"DotNetVersion"?: "v4.0" | "v2.0" | "No Managed Code"
 7066
 7067				// Managed Pipeline Mode
 7068				"PipeLineMode"?: "Integrated" | "Classic"
 7069
 7070				// Identity
 7071				"AppPoolIdentity"?: "ApplicationPoolIdentity" |
 7072					"LocalService" |
 7073					"LocalSystem" |
 7074					"NetworkService" |
 7075					"SpecificUser"
 7076
 7077				// Username
 7078				"AppPoolUsername"?: string
 7079
 7080				// Password
 7081				"AppPoolPassword"?: string
 7082
 7083				// Additional AppCmd.exe Commands
 7084				"AppCmdCommands"?: string
 7085
 7086				// Deploy in Parallel
 7087				"DeployInParallel"?: bool
 7088
 7089				// Select Machines By
 7090				"ResourceFilteringMethod"?: "machineNames" | "tags"
 7091
 7092				// Deploy to Machines
 7093				"MachineFilter"?: string
 7094			})
 7095			...
 7096		},
 7097		{
 7098			// Kubectl tool installer
 7099			//
 7100			// Install Kubectl on agent machine
 7101			"task"!: null | bool | number | =~"^KubectlInstaller@0$" | [...] | {...}
 7102
 7103			// Kubectl tool installer inputs
 7104			"inputs"?: null |
 7105			bool |
 7106			number |
 7107			string |
 7108			[...] |
 7109			close({
 7110				// Kubectl Version Spec
 7111				"kubectlVersion"?: string
 7112			})
 7113			...
 7114		},
 7115		{
 7116			// Command line
 7117			//
 7118			// Run a command line script using Bash on Linux and macOS and cmd.exe on Windows
 7119			"task"!: null | bool | number | =~"^CmdLine@2$" | [...] | {...}
 7120
 7121			// Command line inputs
 7122			"inputs"?: null |
 7123			bool |
 7124			number |
 7125			string |
 7126			[...] |
 7127			close({
 7128				// Script
 7129				"script"?: string
 7130
 7131				// Working Directory
 7132				"workingDirectory"?: string
 7133
 7134				// Fail on Standard Error
 7135				"failOnStderr"?: bool
 7136			})
 7137			...
 7138		},
 7139		{
 7140			// Command Line
 7141			//
 7142			// Run a command line with arguments
 7143			"task"!: null | bool | number | =~"^CmdLine@1$" | [...] | {...}
 7144
 7145			// Command Line inputs
 7146			"inputs"!: null |
 7147			bool |
 7148			number |
 7149			string |
 7150			[...] |
 7151			close({
 7152				// Tool
 7153				"filename"!: string
 7154
 7155				// Arguments
 7156				"arguments"?: string
 7157
 7158				// Working folder
 7159				"workingFolder"?: string
 7160
 7161				// Fail on Standard Error
 7162				"failOnStandardError"?: bool
 7163			})
 7164			...
 7165		},
 7166		{
 7167			// NuGet command
 7168			//
 7169			// Deprecated: use the “NuGet” task instead. It works with the new Tool
 7170			// Installer framework so you can easily use new versions of NuGet without
 7171			// waiting for a task update, provides better support for authenticated feeds
 7172			// outside this organization/collection, and uses NuGet 4 by default.
 7173			"task"!: null | bool | number | =~"^NuGet@0$" | [...] | {...}
 7174
 7175			// NuGet command inputs
 7176			"inputs"!: null |
 7177			bool |
 7178			number |
 7179			string |
 7180			[...] |
 7181			close({
 7182				// Command
 7183				"command"!: string
 7184
 7185				// Arguments
 7186				"arguments"?: string
 7187			})
 7188			...
 7189		},
 7190		{
 7191			// Container Build
 7192			//
 7193			// Container Build Task
 7194			"task"!: null | bool | number | =~"^ContainerBuild@0$" | [...] | {...}
 7195
 7196			// Container Build inputs
 7197			"inputs"?: null |
 7198			bool |
 7199			number |
 7200			string |
 7201			[...] |
 7202			close({
 7203				// Docker registry service connection
 7204				"dockerRegistryServiceConnection"?: string
 7205
 7206				// Container repository
 7207				"repository"?: string
 7208
 7209				// Dockerfile
 7210				"Dockerfile"?: string
 7211
 7212				// Build context
 7213				"buildContext"?: string
 7214
 7215				// Tags
 7216				"tags"?: string
 7217			})
 7218			...
 7219		},
 7220		{
 7221			// NuGet Installer
 7222			//
 7223			// Installs or restores missing NuGet packages. Use NuGetAuthenticate@0 task for
 7224			// latest capabilities.
 7225			"task"!: null | bool | number | =~"^NuGetInstaller@0$" | [...] | {...}
 7226
 7227			// NuGet Installer inputs
 7228			"inputs"?: null |
 7229			bool |
 7230			number |
 7231			string |
 7232			[...] |
 7233			close({
 7234				// Path to solution or packages.config
 7235				"solution"?: string
 7236
 7237				// Path to NuGet.config
 7238				"nugetConfigPath"?: string
 7239
 7240				// Installation type
 7241				"restoreMode"?: "restore" | "install"
 7242
 7243				// Disable local cache
 7244				"noCache"?: bool
 7245
 7246				// NuGet arguments
 7247				"nuGetRestoreArgs"?: string
 7248
 7249				// Verbosity
 7250				"verbosity"?: "-" | "Quiet" | "Normal" | "Detailed"
 7251
 7252				// NuGet Version
 7253				"nuGetVersion"?: "3.3.0" | "3.5.0.1829" | "4.0.0.2283" | "custom"
 7254
 7255				// Path to NuGet.exe
 7256				"nuGetPath"?: string
 7257			})
 7258			...
 7259		},
 7260		{
 7261			// NuGet Restore
 7262			//
 7263			// Restores NuGet packages in preparation for a Visual Studio Build step.
 7264			"task"!: null | bool | number | =~"^NuGetRestore@1$" | [...] | {...}
 7265
 7266			// NuGet Restore inputs
 7267			"inputs"?: null |
 7268			bool |
 7269			number |
 7270			string |
 7271			[...] |
 7272			close({
 7273				// Path to solution, packages.config, or project.json
 7274				"solution"?: string
 7275
 7276				// Feeds to use
 7277				"selectOrConfig"?: "select" | "config"
 7278
 7279				// Use packages from this Azure Artifacts feed
 7280				"feed"?: string
 7281
 7282				// Use packages from NuGet.org
 7283				"includeNuGetOrg"?: bool
 7284
 7285				// Path to NuGet.config
 7286				"nugetConfigPath"?: string
 7287
 7288				// Disable local cache
 7289				"noCache"?: bool
 7290
 7291				// Destination directory
 7292				"packagesDirectory"?: string
 7293
 7294				// Verbosity
 7295				"verbosity"?: "-" | "Quiet" | "Normal" | "Detailed"
 7296			})
 7297			...
 7298		},
 7299		{
 7300			// NuGet
 7301			//
 7302			// Restore, pack, or push NuGet packages, or run a NuGet command. Supports
 7303			// NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses
 7304			// NuGet.exe and works with .NET Framework apps. For .NET Core and .NET
 7305			// Standard apps, use the .NET Core task.
 7306			"task"!: null | bool | number | =~"^NuGetCommand@2$" | [...] | {...}
 7307
 7308			// NuGet inputs
 7309			"inputs"?: null |
 7310			bool |
 7311			number |
 7312			string |
 7313			[...] |
 7314			close({
 7315				// Command
 7316				"command"?: "restore" | "pack" | "push" | "custom"
 7317
 7318				// Path to solution, packages.config, or project.json
 7319				"restoreSolution"?: string
 7320
 7321				// Feeds to use
 7322				"feedsToUse"?: "select" | "config"
 7323
 7324				// Use packages from this Azure Artifacts/TFS feed. Select from the dropdown or
 7325				// enter [project name/]feed name.
 7326				"vstsFeed"?: string
 7327
 7328				// Use packages from NuGet.org
 7329				"includeNuGetOrg"?: bool
 7330
 7331				// Path to NuGet.config
 7332				"nugetConfigPath"?: string
 7333
 7334				// Credentials for feeds outside this organization/collection
 7335				"externalFeedCredentials"?: string
 7336
 7337				// Disable local cache
 7338				"noCache"?: bool
 7339
 7340				// Disable parallel processing
 7341				"disableParallelProcessing"?: bool
 7342
 7343				// Destination directory
 7344				"restoreDirectory"?: string
 7345
 7346				// Verbosity
 7347				"verbosityRestore"?: "Quiet" | "Normal" | "Detailed"
 7348
 7349				// Path to NuGet package(s) to publish
 7350				"packagesToPush"?: string
 7351
 7352				// Target feed location
 7353				"nuGetFeedType"?: "internal" | "external"
 7354
 7355				// Target feed
 7356				"publishVstsFeed"?: string
 7357
 7358				// Publish pipeline metadata
 7359				"publishPackageMetadata"?: bool
 7360
 7361				// Allow duplicates to be skipped
 7362				"allowPackageConflicts"?: bool
 7363
 7364				// NuGet server
 7365				"publishFeedCredentials"?: string
 7366
 7367				// Verbosity
 7368				"verbosityPush"?: "Quiet" | "Normal" | "Detailed"
 7369
 7370				// Path to csproj or nuspec file(s) to pack
 7371				"packagesToPack"?: string
 7372
 7373				// Configuration to package
 7374				"configuration"?: string
 7375
 7376				// Package folder
 7377				"packDestination"?: string
 7378
 7379				// Automatic package versioning
 7380				"versioningScheme"?: "off" | "byPrereleaseNumber" | "byEnvVar" | "byBuildNumber"
 7381
 7382				// Include referenced projects
 7383				"includeReferencedProjects"?: bool
 7384
 7385				// Environment variable
 7386				"versionEnvVar"?: string
 7387
 7388				// Major
 7389				"majorVersion"?: string
 7390
 7391				// Minor
 7392				"minorVersion"?: string
 7393
 7394				// Patch
 7395				"patchVersion"?: string
 7396
 7397				// Time zone
 7398				"packTimezone"?: "utc" | "local"
 7399
 7400				// Create symbols package
 7401				"includeSymbols"?: bool
 7402
 7403				// Tool Package
 7404				"toolPackage"?: bool
 7405
 7406				// Additional build properties
 7407				"buildProperties"?: string
 7408
 7409				// Base path
 7410				"basePath"?: string
 7411
 7412				// Verbosity
 7413				"verbosityPack"?: "Quiet" | "Normal" | "Detailed"
 7414
 7415				// Command and arguments
 7416				"arguments"?: string
 7417			})
 7418			...
 7419		},
 7420		{
 7421			// Delay
 7422			//
 7423			// Delay further execution of a workflow by a fixed time
 7424			"task"!: null | bool | number | =~"^Delay@1$" | [...] | {...}
 7425
 7426			// Delay inputs
 7427			"inputs"?: null |
 7428			bool |
 7429			number |
 7430			string |
 7431			[...] |
 7432			close({
 7433				// Delay Time (minutes)
 7434				"delayForMinutes"?: string
 7435			})
 7436			...
 7437		},
 7438		{
 7439			// Xamarin.iOS
 7440			//
 7441			// Build an iOS app with Xamarin on macOS
 7442			"task"!: null | bool | number | =~"^XamariniOS@1$" | [...] | {...}
 7443
 7444			// Xamarin.iOS inputs
 7445			"inputs"?: null |
 7446			bool |
 7447			number |
 7448			string |
 7449			[...] |
 7450			close({
 7451				// Solution
 7452				"solutionFile"?: string
 7453
 7454				// Configuration
 7455				"configuration"?: string
 7456
 7457				// Clean
 7458				"clean"?: bool
 7459
 7460				// Create app package
 7461				"packageApp"?: bool
 7462
 7463				// Build for iOS Simulator
 7464				"buildForSimulator"?: bool
 7465
 7466				// Run NuGet restore
 7467				"runNugetRestore"?: bool
 7468
 7469				// Arguments
 7470				"args"?: string
 7471
 7472				// Working directory
 7473				"workingDirectory"?: string
 7474
 7475				// Build tool
 7476				"buildToolOption"?: "xbuild" | "msbuild"
 7477
 7478				// Build tool path
 7479				"mdtoolFile"?: string
 7480
 7481				// Override using
 7482				"signingOption"?: "file" | "id"
 7483
 7484				// Signing identity
 7485				"signingIdentity"?: string
 7486
 7487				// Unlock default keychain
 7488				"signingUnlockDefaultKeychain"?: bool
 7489
 7490				// Default keychain password
 7491				"signingDefaultKeychainPassword"?: string
 7492
 7493				// Provisioning profile UUID
 7494				"signingProvisioningProfileID"?: string
 7495
 7496				// P12 certificate file
 7497				"signingP12File"?: string
 7498
 7499				// P12 password
 7500				"signingP12Password"?: string
 7501
 7502				// Provisioning profile file
 7503				"signingProvisioningProfileFile"?: string
 7504
 7505				// Remove profile after build
 7506				"signingRemoveProfile"?: bool
 7507			})
 7508			...
 7509		},
 7510		{
 7511			// Xamarin.iOS
 7512			//
 7513			// Build an iOS app with Xamarin on macOS
 7514			"task"!: null | bool | number | =~"^XamariniOS@2$" | [...] | {...}
 7515
 7516			// Xamarin.iOS inputs
 7517			"inputs"?: null |
 7518			bool |
 7519			number |
 7520			string |
 7521			[...] |
 7522			close({
 7523				// Solution
 7524				"solutionFile"?: string
 7525
 7526				// Configuration
 7527				"configuration"?: string
 7528
 7529				// Clean
 7530				"clean"?: bool
 7531
 7532				// Create app package
 7533				"packageApp"?: bool
 7534
 7535				// Build for iOS Simulator
 7536				"buildForSimulator"?: bool
 7537
 7538				// Run NuGet restore
 7539				"runNugetRestore"?: bool
 7540
 7541				// Arguments
 7542				"args"?: string
 7543
 7544				// Working directory
 7545				"workingDirectory"?: string
 7546
 7547				// Build tool path
 7548				"mdtoolFile"?: string
 7549
 7550				// Signing identity
 7551				"signingIdentity"?: string
 7552
 7553				// Provisioning profile UUID
 7554				"signingProvisioningProfileID"?: string
 7555			})
 7556			...
 7557		},
 7558		{
 7559			// Publish test results
 7560			//
 7561			// Publish test results to Azure Pipelines
 7562			"task"!: null | bool | number | =~"^PublishTestResults@1$" | [...] | {...}
 7563
 7564			// Publish test results inputs
 7565			"inputs"?: null |
 7566			bool |
 7567			number |
 7568			string |
 7569			[...] |
 7570			close({
 7571				// Test Result Format
 7572				"testRunner"?: "JUnit" | "NUnit" | "VSTest" | "XUnit"
 7573
 7574				// Test Results Files
 7575				"testResultsFiles"?: string
 7576
 7577				// Merge Test Results
 7578				"mergeTestResults"?: bool
 7579
 7580				// Test Run Title
 7581				"testRunTitle"?: string
 7582
 7583				// Platform
 7584				"platform"?: string
 7585
 7586				// Configuration
 7587				"configuration"?: string
 7588
 7589				// Upload Test Attachments
 7590				"publishRunAttachments"?: bool
 7591			})
 7592			...
 7593		},
 7594		{
 7595			// Publish Test Results
 7596			//
 7597			// Publish test results to Azure Pipelines
 7598			"task"!: null | bool | number | =~"^PublishTestResults@2$" | [...] | {...}
 7599
 7600			// Publish Test Results inputs
 7601			"inputs"?: null |
 7602			bool |
 7603			number |
 7604			string |
 7605			[...] |
 7606			close({
 7607				// Test result format
 7608				"testResultsFormat"?: "JUnit" | "NUnit" | "VSTest" | "XUnit" | "CTest"
 7609
 7610				// Test results files
 7611				"testResultsFiles"?: string
 7612
 7613				// Search folder
 7614				"searchFolder"?: string
 7615
 7616				// Merge test results
 7617				"mergeTestResults"?: bool
 7618
 7619				// Fail if there are test failures
 7620				"failTaskOnFailedTests"?: bool
 7621
 7622				// Fail if there is failure in publishing test results
 7623				"failTaskOnFailureToPublishResults"?: bool
 7624
 7625				// Fail if no result files are found
 7626				"failTaskOnMissingResultsFile"?: bool
 7627
 7628				// Test run title
 7629				"testRunTitle"?: string
 7630
 7631				// Build Platform
 7632				"buildPlatform"?: string
 7633
 7634				// Build Configuration
 7635				"buildConfiguration"?: string
 7636
 7637				// Upload test results files
 7638				"publishRunAttachments"?: bool
 7639			})
 7640			...
 7641		},
 7642		{
 7643			// Publish test results
 7644			//
 7645			// Publish test results to Azure Pipelines
 7646			"task"!: null | bool | number | =~"^PublishTestResults@1$" | [...] | {...}
 7647
 7648			// Publish test results inputs
 7649			"inputs"?: null |
 7650			bool |
 7651			number |
 7652			string |
 7653			[...] |
 7654			close({
 7655				// Test Result Format
 7656				"testRunner"?: "JUnit" | "NUnit" | "VSTest" | "XUnit"
 7657
 7658				// Test Results Files
 7659				"testResultsFiles"?: string
 7660
 7661				// Merge Test Results
 7662				"mergeTestResults"?: bool
 7663
 7664				// Test Run Title
 7665				"testRunTitle"?: string
 7666
 7667				// Platform
 7668				"platform"?: string
 7669
 7670				// Configuration
 7671				"configuration"?: string
 7672
 7673				// Upload Test Attachments
 7674				"publishRunAttachments"?: bool
 7675			})
 7676			...
 7677		},
 7678		{
 7679			// Azure file copy
 7680			//
 7681			// Copy files to Azure Blob Storage or virtual machines
 7682			"task"!: null | bool | number | =~"^AzureFileCopy@6$" | [...] | {...}
 7683
 7684			// Azure file copy inputs
 7685			"inputs"!: null |
 7686			bool |
 7687			number |
 7688			string |
 7689			[...] |
 7690			close({
 7691				// Source
 7692				"SourcePath"!: string
 7693
 7694				// Azure Subscription
 7695				"azureSubscription"!: string
 7696
 7697				// Destination Type
 7698				"Destination"!: "AzureBlob" | "AzureVMs"
 7699
 7700				// RM Storage Account
 7701				"storage"!: string
 7702
 7703				// Container Name
 7704				"ContainerName"?: string
 7705
 7706				// Blob Prefix
 7707				"BlobPrefix"?: string
 7708
 7709				// Resource Group
 7710				"resourceGroup"?: string
 7711
 7712				// Select Machines By
 7713				"ResourceFilteringMethod"?: "machineNames" | "tags"
 7714
 7715				// Filter Criteria
 7716				"MachineNames"?: string
 7717
 7718				// Admin Login
 7719				"vmsAdminUserName"?: string
 7720
 7721				// Password
 7722				"vmsAdminPassword"?: string
 7723
 7724				// Destination Folder
 7725				"TargetPath"?: string
 7726
 7727				// Optional Arguments (for uploading files to blob)
 7728				"AdditionalArgumentsForBlobCopy"?: string
 7729
 7730				// Optional Arguments (for downloading files to VM)
 7731				"AdditionalArgumentsForVMCopy"?: string
 7732
 7733				// Enable Copy Prerequisites
 7734				"enableCopyPrerequisites"?: bool
 7735
 7736				// Copy in Parallel
 7737				"CopyFilesInParallel"?: bool
 7738
 7739				// Clean Target
 7740				"CleanTargetBeforeCopy"?: bool
 7741
 7742				// Test Certificate
 7743				"skipCACheck"?: bool
 7744			})
 7745			...
 7746		},
 7747		{
 7748			// Azure file copy
 7749			//
 7750			// Copy files to Azure Blob Storage or virtual machines
 7751			"task"!: null | bool | number | =~"^AzureFileCopy@4$" | [...] | {...}
 7752
 7753			// Azure file copy inputs
 7754			"inputs"!: null |
 7755			bool |
 7756			number |
 7757			string |
 7758			[...] |
 7759			close({
 7760				// Source
 7761				"SourcePath"!: string
 7762
 7763				// Azure Subscription
 7764				"azureSubscription"!: string
 7765
 7766				// Destination Type
 7767				"Destination"!: "AzureBlob" | "AzureVMs"
 7768
 7769				// RM Storage Account
 7770				"storage"!: string
 7771
 7772				// Container Name
 7773				"ContainerName"?: string
 7774
 7775				// Blob Prefix
 7776				"BlobPrefix"?: string
 7777
 7778				// Resource Group
 7779				"resourceGroup"?: string
 7780
 7781				// Select Machines By
 7782				"ResourceFilteringMethod"?: "machineNames" | "tags"
 7783
 7784				// Filter Criteria
 7785				"MachineNames"?: string
 7786
 7787				// Admin Login
 7788				"vmsAdminUserName"?: string
 7789
 7790				// Password
 7791				"vmsAdminPassword"?: string
 7792
 7793				// Destination Folder
 7794				"TargetPath"?: string
 7795
 7796				// Optional Arguments (for uploading files to blob)
 7797				"AdditionalArgumentsForBlobCopy"?: string
 7798
 7799				// Optional Arguments (for downloading files to VM)
 7800				"AdditionalArgumentsForVMCopy"?: string
 7801
 7802				// SAS Token Expiration Period In Minutes
 7803				"sasTokenTimeOutInMinutes"?: string
 7804
 7805				// Enable Copy Prerequisites
 7806				"enableCopyPrerequisites"?: bool
 7807
 7808				// Copy in Parallel
 7809				"CopyFilesInParallel"?: bool
 7810
 7811				// Clean Target
 7812				"CleanTargetBeforeCopy"?: bool
 7813
 7814				// Test Certificate
 7815				"skipCACheck"?: bool
 7816			})
 7817			...
 7818		},
 7819		{
 7820			// Azure file copy
 7821			//
 7822			// Copy files to Azure Blob Storage or virtual machines
 7823			"task"!: null | bool | number | =~"^AzureFileCopy@5$" | [...] | {...}
 7824
 7825			// Azure file copy inputs
 7826			"inputs"!: null |
 7827			bool |
 7828			number |
 7829			string |
 7830			[...] |
 7831			close({
 7832				// Source
 7833				"SourcePath"!: string
 7834
 7835				// Azure Subscription
 7836				"azureSubscription"!: string
 7837
 7838				// Destination Type
 7839				"Destination"!: "AzureBlob" | "AzureVMs"
 7840
 7841				// RM Storage Account
 7842				"storage"!: string
 7843
 7844				// Container Name
 7845				"ContainerName"?: string
 7846
 7847				// Blob Prefix
 7848				"BlobPrefix"?: string
 7849
 7850				// Resource Group
 7851				"resourceGroup"?: string
 7852
 7853				// Select Machines By
 7854				"ResourceFilteringMethod"?: "machineNames" | "tags"
 7855
 7856				// Filter Criteria
 7857				"MachineNames"?: string
 7858
 7859				// Admin Login
 7860				"vmsAdminUserName"?: string
 7861
 7862				// Password
 7863				"vmsAdminPassword"?: string
 7864
 7865				// Destination Folder
 7866				"TargetPath"?: string
 7867
 7868				// Optional Arguments (for uploading files to blob)
 7869				"AdditionalArgumentsForBlobCopy"?: string
 7870
 7871				// Optional Arguments (for downloading files to VM)
 7872				"AdditionalArgumentsForVMCopy"?: string
 7873
 7874				// SAS Token Expiration Period In Minutes
 7875				"sasTokenTimeOutInMinutes"?: string
 7876
 7877				// Enable Copy Prerequisites
 7878				"enableCopyPrerequisites"?: bool
 7879
 7880				// Copy in Parallel
 7881				"CopyFilesInParallel"?: bool
 7882
 7883				// Clean Target
 7884				"CleanTargetBeforeCopy"?: bool
 7885
 7886				// Test Certificate
 7887				"skipCACheck"?: bool
 7888			})
 7889			...
 7890		},
 7891		{
 7892			// Azure file copy
 7893			//
 7894			// Copy files to Azure Blob Storage or virtual machines
 7895			"task"!: null | bool | number | =~"^AzureFileCopy@2$" | [...] | {...}
 7896
 7897			// Azure file copy inputs
 7898			"inputs"!: null |
 7899			bool |
 7900			number |
 7901			string |
 7902			[...] |
 7903			close({
 7904				// Source
 7905				"SourcePath"!: string
 7906
 7907				// Azure Connection Type
 7908				"azureConnectionType"?: "ConnectedServiceName" | "ConnectedServiceNameARM"
 7909
 7910				// Azure Classic Subscription
 7911				"azureClassicSubscription"?: string
 7912
 7913				// Azure Subscription
 7914				"azureSubscription"?: string
 7915
 7916				// Destination Type
 7917				"Destination"!: "AzureBlob" | "AzureVMs"
 7918
 7919				// Classic Storage Account
 7920				"classicStorage"?: string
 7921
 7922				// RM Storage Account
 7923				"storage"?: string
 7924
 7925				// Container Name
 7926				"ContainerName"?: string
 7927
 7928				// Blob Prefix
 7929				"BlobPrefix"?: string
 7930
 7931				// Cloud Service
 7932				"cloudService"?: string
 7933
 7934				// Resource Group
 7935				"resourceGroup"?: string
 7936
 7937				// Select Machines By
 7938				"ResourceFilteringMethod"?: "machineNames" | "tags"
 7939
 7940				// Filter Criteria
 7941				"MachineNames"?: string
 7942
 7943				// Admin Login
 7944				"vmsAdminUserName"?: string
 7945
 7946				// Password
 7947				"vmsAdminPassword"?: string
 7948
 7949				// Destination Folder
 7950				"TargetPath"?: string
 7951
 7952				// Optional Arguments (for uploading files to blob)
 7953				"AdditionalArgumentsForBlobCopy"?: string
 7954
 7955				// Optional Arguments (for downloading files to VM)
 7956				"AdditionalArgumentsForVMCopy"?: string
 7957
 7958				// Enable Copy Prerequisites
 7959				"enableCopyPrerequisites"?: bool
 7960
 7961				// Copy in Parallel
 7962				"CopyFilesInParallel"?: bool
 7963
 7964				// Clean Target
 7965				"CleanTargetBeforeCopy"?: bool
 7966
 7967				// Test Certificate
 7968				"skipCACheck"?: bool
 7969
 7970				// Storage Container URI
 7971				"outputStorageUri"?: string
 7972
 7973				// Storage Container SAS Token
 7974				"outputStorageContainerSasToken"?: string
 7975			})
 7976			...
 7977		},
 7978		{
 7979			// Azure file copy
 7980			//
 7981			// Copy files to Azure Blob Storage or virtual machines
 7982			"task"!: null | bool | number | =~"^AzureFileCopy@3$" | [...] | {...}
 7983
 7984			// Azure file copy inputs
 7985			"inputs"!: null |
 7986			bool |
 7987			number |
 7988			string |
 7989			[...] |
 7990			close({
 7991				// Source
 7992				"SourcePath"!: string
 7993
 7994				// Azure Subscription
 7995				"azureSubscription"!: string
 7996
 7997				// Destination Type
 7998				"Destination"!: "AzureBlob" | "AzureVMs"
 7999
 8000				// RM Storage Account
 8001				"storage"!: string
 8002
 8003				// Container Name
 8004				"ContainerName"?: string
 8005
 8006				// Blob Prefix
 8007				"BlobPrefix"?: string
 8008
 8009				// Resource Group
 8010				"resourceGroup"?: string
 8011
 8012				// Select Machines By
 8013				"ResourceFilteringMethod"?: "machineNames" | "tags"
 8014
 8015				// Filter Criteria
 8016				"MachineNames"?: string
 8017
 8018				// Admin Login
 8019				"vmsAdminUserName"?: string
 8020
 8021				// Password
 8022				"vmsAdminPassword"?: string
 8023
 8024				// Destination Folder
 8025				"TargetPath"?: string
 8026
 8027				// Optional Arguments (for uploading files to blob)
 8028				"AdditionalArgumentsForBlobCopy"?: string
 8029
 8030				// Optional Arguments (for downloading files to VM)
 8031				"AdditionalArgumentsForVMCopy"?: string
 8032
 8033				// Enable Copy Prerequisites
 8034				"enableCopyPrerequisites"?: bool
 8035
 8036				// Copy in Parallel
 8037				"CopyFilesInParallel"?: bool
 8038
 8039				// Clean Target
 8040				"CleanTargetBeforeCopy"?: bool
 8041
 8042				// Test Certificate
 8043				"skipCACheck"?: bool
 8044
 8045				// Storage Container URI
 8046				"outputStorageUri"?: string
 8047
 8048				// Storage Container SAS Token
 8049				"outputStorageContainerSasToken"?: string
 8050
 8051				// SAS Token Expiration Period In Minutes
 8052				"sasTokenTimeOutInMinutes"?: string
 8053			})
 8054			...
 8055		},
 8056		{
 8057			// Azure file copy
 8058			//
 8059			// Copy files to Azure Blob Storage or virtual machines
 8060			"task"!: null | bool | number | =~"^AzureFileCopy@1$" | [...] | {...}
 8061
 8062			// Azure file copy inputs
 8063			"inputs"!: null |
 8064			bool |
 8065			number |
 8066			string |
 8067			[...] |
 8068			close({
 8069				// Source
 8070				"SourcePath"!: string
 8071
 8072				// Azure Connection Type
 8073				"azureConnectionType"?: "ConnectedServiceName" | "ConnectedServiceNameARM"
 8074
 8075				// Azure Classic Subscription
 8076				"azureClassicSubscription"?: string
 8077
 8078				// Azure Subscription
 8079				"azureSubscription"?: string
 8080
 8081				// Destination Type
 8082				"Destination"!: "AzureBlob" | "AzureVMs"
 8083
 8084				// Classic Storage Account
 8085				"classicStorage"?: string
 8086
 8087				// RM Storage Account
 8088				"storage"?: string
 8089
 8090				// Container Name
 8091				"ContainerName"?: string
 8092
 8093				// Blob Prefix
 8094				"BlobPrefix"?: string
 8095
 8096				// Cloud Service
 8097				"cloudService"?: string
 8098
 8099				// Resource Group
 8100				"resourceGroup"?: string
 8101
 8102				// Select Machines By
 8103				"ResourceFilteringMethod"?: "machineNames" | "tags"
 8104
 8105				// Filter Criteria
 8106				"MachineNames"?: string
 8107
 8108				// Admin Login
 8109				"vmsAdminUserName"?: string
 8110
 8111				// Password
 8112				"vmsAdminPassword"?: string
 8113
 8114				// Destination Folder
 8115				"TargetPath"?: string
 8116
 8117				// Additional Arguments
 8118				"AdditionalArguments"?: string
 8119
 8120				// Enable Copy Prerequisites
 8121				"enableCopyPrerequisites"?: bool
 8122
 8123				// Copy in Parallel
 8124				"CopyFilesInParallel"?: bool
 8125
 8126				// Clean Target
 8127				"CleanTargetBeforeCopy"?: bool
 8128
 8129				// Test Certificate
 8130				"skipCACheck"?: bool
 8131
 8132				// Storage Container URI
 8133				"outputStorageUri"?: string
 8134
 8135				// Storage Container SAS Token
 8136				"outputStorageContainerSasToken"?: string
 8137			})
 8138			...
 8139		},
 8140		{
 8141			// Index sources and publish symbols
 8142			//
 8143			// Index your source code and publish symbols to a file share or Azure Artifacts symbol server
 8144			"task"!: null | bool | number | =~"^PublishSymbols@2$" | [...] | {...}
 8145
 8146			// Index sources and publish symbols inputs
 8147			"inputs"?: null |
 8148			bool |
 8149			number |
 8150			string |
 8151			[...] |
 8152			close({
 8153				// Azure Resource Manager connection
 8154				"ConnectedServiceName"?: string
 8155
 8156				// Path to symbols folder
 8157				"SymbolsFolder"?: string
 8158
 8159				// Search pattern
 8160				"SearchPattern"?: string
 8161
 8162				// Manifest
 8163				"Manifest"?: string
 8164
 8165				// Index sources
 8166				"IndexSources"?: bool
 8167
 8168				// Publish symbols
 8169				"PublishSymbols"?: bool
 8170
 8171				// Symbol server type
 8172				"SymbolServerType"?: " " | "TeamServices" | "FileShare"
 8173
 8174				// Path to publish symbols
 8175				"SymbolsPath"?: string
 8176
 8177				// Compress symbols
 8178				"CompressSymbols"?: bool
 8179
 8180				// Symbol Expiration (in days)
 8181				"SymbolExpirationInDays"?: string
 8182
 8183				// Symbol file formats to publish
 8184				"IndexableFileFormats"?: "Default" | "Pdb" | "SourceMap" | "All"
 8185
 8186				// Verbose logging
 8187				"DetailedLog"?: bool
 8188
 8189				// Warn if not indexed
 8190				"TreatNotIndexedAsWarning"?: bool
 8191
 8192				// Use NetCore client tool
 8193				"UseNetCoreClientTool"?: bool
 8194
 8195				// Max wait time (min)
 8196				"SymbolsMaximumWaitTime"?: string
 8197
 8198				// Product
 8199				"SymbolsProduct"?: string
 8200
 8201				// Version
 8202				"SymbolsVersion"?: string
 8203
 8204				// Artifact name
 8205				"SymbolsArtifactName"?: string
 8206			})
 8207			...
 8208		},
 8209		{
 8210			// Index Sources & Publish Symbols
 8211			//
 8212			// Index your source code and publish symbols to a file share
 8213			"task"!: null | bool | number | =~"^PublishSymbols@1$" | [...] | {...}
 8214
 8215			// Index Sources & Publish Symbols inputs
 8216			"inputs"?: null |
 8217			bool |
 8218			number |
 8219			string |
 8220			[...] |
 8221			close({
 8222				// Path to publish symbols
 8223				"SymbolsPath"?: string
 8224
 8225				// Search pattern
 8226				"SearchPattern"?: string
 8227
 8228				// Path to symbols folder
 8229				"SymbolsFolder"?: string
 8230
 8231				// Skip indexing
 8232				"SkipIndexing"?: bool
 8233
 8234				// Warn if not indexed
 8235				"TreatNotIndexedAsWarning"?: bool
 8236
 8237				// Max wait time (min)
 8238				"SymbolsMaximumWaitTime"?: string
 8239
 8240				// Product
 8241				"SymbolsProduct"?: string
 8242
 8243				// Version
 8244				"SymbolsVersion"?: string
 8245
 8246				// Artifact name
 8247				"SymbolsArtifactName"?: string
 8248			})
 8249			...
 8250		},
 8251		{
 8252			// Copy files over SSH
 8253			//
 8254			// Copy files or build artifacts to a remote machine over SSH
 8255			"task"!: null | bool | number | =~"^CopyFilesOverSSH@0$" | [...] | {...}
 8256
 8257			// Copy files over SSH inputs
 8258			"inputs"!: null |
 8259			bool |
 8260			number |
 8261			string |
 8262			[...] |
 8263			close({
 8264				// SSH service connection
 8265				"sshEndpoint"!: string
 8266
 8267				// Source folder
 8268				"sourceFolder"?: string
 8269
 8270				// Contents
 8271				"contents"?: string
 8272
 8273				// Target folder
 8274				"targetFolder"?: string
 8275
 8276				// Target machine running Windows
 8277				"isWindowsOnTarget"?: bool
 8278
 8279				// Clean target folder
 8280				"cleanTargetFolder"?: bool
 8281
 8282				// Remove hidden files in target folder
 8283				"cleanHiddenFilesInTarget"?: bool
 8284
 8285				// SSH handshake timeout
 8286				"readyTimeout"?: string
 8287
 8288				// Overwrite
 8289				"overwrite"?: bool
 8290
 8291				// Fail if no files found to copy
 8292				"failOnEmptySource"?: bool
 8293
 8294				// Flatten folders
 8295				"flattenFolders"?: bool
 8296
 8297				// Number of concurrent uploads when copying files
 8298				"concurrentUploads"?: string
 8299
 8300				// Delay between queueing uploads (in milliseconds)
 8301				"delayBetweenUploads"?: string
 8302			})
 8303			...
 8304		},
 8305		{
 8306			// Gradle
 8307			//
 8308			// Build using a Gradle wrapper script
 8309			"task"!: null | bool | number | =~"^Gradle@2$" | [...] | {...}
 8310
 8311			// Gradle inputs
 8312			"inputs"?: null |
 8313			bool |
 8314			number |
 8315			string |
 8316			[...] |
 8317			close({
 8318				// Gradle wrapper
 8319				"gradleWrapperFile"?: string
 8320
 8321				// Working directory
 8322				"workingDirectory"?: string
 8323
 8324				// Options
 8325				"options"?: string
 8326
 8327				// Tasks
 8328				"tasks"?: string
 8329
 8330				// Publish to Azure Pipelines
 8331				"publishJUnitResults"?: bool
 8332
 8333				// Test results files
 8334				"testResultsFiles"?: string
 8335
 8336				// Test run title
 8337				"testRunTitle"?: string
 8338
 8339				// Code coverage tool
 8340				"codeCoverageToolOption"?: "None" | "Cobertura" | "JaCoCo"
 8341
 8342				// Class files directories
 8343				"codeCoverageClassFilesDirectories"?: string
 8344
 8345				// Class inclusion/exclusion filters
 8346				"codeCoverageClassFilter"?: string
 8347
 8348				// Fail when code coverage results are missing
 8349				"codeCoverageFailIfEmpty"?: bool
 8350
 8351				// Gradle version >= 5.x
 8352				"codeCoverageGradle5xOrHigher"?: bool
 8353
 8354				// Set JAVA_HOME by
 8355				"javaHomeOption"?: "JDKVersion" | "Path"
 8356
 8357				// JDK version
 8358				"jdkVersionOption"?: "default" | "1.17" | "1.11" | "1.10" | "1.9" | "1.8" | "1.7" | "1.6"
 8359
 8360				// JDK path
 8361				"jdkDirectory"?: string
 8362
 8363				// JDK architecture
 8364				"jdkArchitectureOption"?: "x86" | "x64"
 8365
 8366				// Set GRADLE_OPTS
 8367				"gradleOptions"?: string
 8368
 8369				// Run SonarQube or SonarCloud Analysis
 8370				"sonarQubeRunAnalysis"?: bool
 8371
 8372				// SonarQube scanner for Gradle version
 8373				"sqGradlePluginVersionChoice"?: "specify" | "build"
 8374
 8375				// SonarQube scanner for Gradle plugin version
 8376				"sonarQubeGradlePluginVersion"?: string
 8377
 8378				// Run Checkstyle
 8379				"checkStyleRunAnalysis"?: bool
 8380
 8381				// Run FindBugs
 8382				"findBugsRunAnalysis"?: bool
 8383
 8384				// Run PMD
 8385				"pmdRunAnalysis"?: bool
 8386
 8387				// Run SpotBugs
 8388				"spotBugsAnalysis"?: bool
 8389
 8390				// Spotbugs plugin version
 8391				"spotBugsGradlePluginVersionChoice"?: "specify" | "build"
 8392
 8393				// Version number
 8394				"spotbugsGradlePluginVersion"?: string
 8395			})
 8396			...
 8397		},
 8398		{
 8399			// Gradle
 8400			//
 8401			// Build using a Gradle wrapper script
 8402			"task"!: null | bool | number | =~"^Gradle@3$" | [...] | {...}
 8403
 8404			// Gradle inputs
 8405			"inputs"?: null |
 8406			bool |
 8407			number |
 8408			string |
 8409			[...] |
 8410			close({
 8411				// Gradle wrapper
 8412				"gradleWrapperFile"?: string
 8413
 8414				// Working directory
 8415				"workingDirectory"?: string
 8416
 8417				// Options
 8418				"options"?: string
 8419
 8420				// Tasks
 8421				"tasks"?: string
 8422
 8423				// Publish to Azure Pipelines
 8424				"publishJUnitResults"?: bool
 8425
 8426				// Test results files
 8427				"testResultsFiles"?: string
 8428
 8429				// Test run title
 8430				"testRunTitle"?: string
 8431
 8432				// Code coverage tool
 8433				"codeCoverageToolOption"?: "None" | "Cobertura" | "JaCoCo"
 8434
 8435				// Class files directories
 8436				"codeCoverageClassFilesDirectories"?: string
 8437
 8438				// Class inclusion/exclusion filters
 8439				"codeCoverageClassFilter"?: string
 8440
 8441				// Fail when code coverage results are missing
 8442				"codeCoverageFailIfEmpty"?: bool
 8443
 8444				// Gradle version >= 5.x
 8445				"codeCoverageGradle5xOrHigher"?: bool
 8446
 8447				// Set JAVA_HOME by
 8448				"javaHomeOption"?: "JDKVersion" | "Path"
 8449
 8450				// JDK version
 8451				"jdkVersionOption"?: "default" | "1.17" | "1.11" | "1.10" | "1.9" | "1.8" | "1.7" | "1.6"
 8452
 8453				// JDK path
 8454				"jdkDirectory"?: string
 8455
 8456				// JDK architecture
 8457				"jdkArchitectureOption"?: "x86" | "x64"
 8458
 8459				// Set GRADLE_OPTS
 8460				"gradleOptions"?: string
 8461
 8462				// Run SonarQube or SonarCloud Analysis
 8463				"sonarQubeRunAnalysis"?: bool
 8464
 8465				// SonarQube scanner for Gradle version
 8466				"sqGradlePluginVersionChoice"?: "specify" | "build"
 8467
 8468				// SonarQube scanner for Gradle plugin version
 8469				"sonarQubeGradlePluginVersion"?: string
 8470
 8471				// Run Checkstyle
 8472				"checkStyleRunAnalysis"?: bool
 8473
 8474				// Run FindBugs
 8475				"findBugsRunAnalysis"?: bool
 8476
 8477				// Run PMD
 8478				"pmdRunAnalysis"?: bool
 8479
 8480				// Run SpotBugs
 8481				"spotBugsAnalysis"?: bool
 8482
 8483				// Spotbugs plugin version
 8484				"spotBugsGradlePluginVersionChoice"?: "specify" | "build"
 8485
 8486				// Version number
 8487				"spotbugsGradlePluginVersion"?: string
 8488			})
 8489			...
 8490		},
 8491		{
 8492			// Gradle
 8493			//
 8494			// Build using a Gradle wrapper script
 8495			"task"!: null | bool | number | =~"^Gradle@4$" | [...] | {...}
 8496
 8497			// Gradle inputs
 8498			"inputs"?: null |
 8499			bool |
 8500			number |
 8501			string |
 8502			[...] |
 8503			close({
 8504				// Gradle wrapper
 8505				"gradleWrapperFile"?: string
 8506
 8507				// Working directory
 8508				"workingDirectory"?: string
 8509
 8510				// Options
 8511				"options"?: string
 8512
 8513				// Tasks
 8514				"tasks"?: string
 8515
 8516				// Publish to Azure Pipelines
 8517				"publishJUnitResults"?: bool
 8518
 8519				// Test results files
 8520				"testResultsFiles"?: string
 8521
 8522				// Test run title
 8523				"testRunTitle"?: string
 8524
 8525				// Set JAVA_HOME by
 8526				"javaHomeOption"?: "JDKVersion" | "Path"
 8527
 8528				// JDK version
 8529				"jdkVersionOption"?: "default" | "1.17" | "1.11" | "1.10" | "1.9" | "1.8" | "1.7" | "1.6"
 8530
 8531				// JDK path
 8532				"jdkDirectory"?: string
 8533
 8534				// JDK architecture
 8535				"jdkArchitectureOption"?: "x86" | "x64"
 8536
 8537				// Set GRADLE_OPTS
 8538				"gradleOptions"?: string
 8539
 8540				// Run SonarQube or SonarCloud Analysis
 8541				"sonarQubeRunAnalysis"?: bool
 8542
 8543				// SonarQube scanner for Gradle version
 8544				"sqGradlePluginVersionChoice"?: "specify" | "build"
 8545
 8546				// SonarQube scanner for Gradle plugin version
 8547				"sonarQubeGradlePluginVersion"?: string
 8548
 8549				// Run Checkstyle
 8550				"checkStyleRunAnalysis"?: bool
 8551
 8552				// Run FindBugs
 8553				"findBugsRunAnalysis"?: bool
 8554
 8555				// Run PMD
 8556				"pmdRunAnalysis"?: bool
 8557
 8558				// Run SpotBugs
 8559				"spotBugsAnalysis"?: bool
 8560
 8561				// Spotbugs plugin version
 8562				"spotBugsGradlePluginVersionChoice"?: "specify" | "build"
 8563
 8564				// Version number
 8565				"spotbugsGradlePluginVersion"?: string
 8566			})
 8567			...
 8568		},
 8569		{
 8570			// Gradle
 8571			//
 8572			// Build using a Gradle wrapper script
 8573			"task"!: null | bool | number | =~"^Gradle@1$" | [...] | {...}
 8574
 8575			// Gradle inputs
 8576			"inputs"?: null |
 8577			bool |
 8578			number |
 8579			string |
 8580			[...] |
 8581			close({
 8582				// Gradle Wrapper
 8583				"gradleWrapperFile"?: string
 8584
 8585				// Options
 8586				"options"?: string
 8587
 8588				// Tasks
 8589				"tasks"?: string
 8590
 8591				// Working Directory
 8592				"workingDirectory"?: string
 8593
 8594				// Publish to TFS/Team Services
 8595				"publishJUnitResults"?: bool
 8596
 8597				// Test Results Files
 8598				"testResultsFiles"?: string
 8599
 8600				// Test Run Title
 8601				"testRunTitle"?: string
 8602
 8603				// Code Coverage Tool
 8604				"codeCoverageToolOption"?: "None" | "Cobertura" | "JaCoCo"
 8605
 8606				// Class Files Directories
 8607				"codeCoverageClassFilesDirectories"?: string
 8608
 8609				// Class Inclusion/Exclusion Filters
 8610				"codeCoverageClassFilter"?: string
 8611
 8612				// Fail When Code Coverage Results Are Missing
 8613				"codeCoverageFailIfEmpty"?: bool
 8614
 8615				// Set JAVA_HOME by
 8616				"javaHomeOption"?: "JDKVersion" | "Path"
 8617
 8618				// JDK Version
 8619				"jdkVersionOption"?: "default" | "1.9" | "1.8" | "1.7" | "1.6"
 8620
 8621				// JDK Path
 8622				"jdkDirectory"?: string
 8623
 8624				// JDK Architecture
 8625				"jdkArchitectureOption"?: "x86" | "x64"
 8626
 8627				// Set GRADLE_OPTS
 8628				"gradleOptions"?: string
 8629
 8630				// Run SonarQube Analysis
 8631				"sonarQubeRunAnalysis"?: bool
 8632
 8633				// SonarQube Endpoint
 8634				"sonarQubeServiceEndpoint"?: string
 8635
 8636				// SonarQube Project Name
 8637				"sonarQubeProjectName"?: string
 8638
 8639				// SonarQube Project Key
 8640				"sonarQubeProjectKey"?: string
 8641
 8642				// SonarQube Project Version
 8643				"sonarQubeProjectVersion"?: string
 8644
 8645				// SonarQube Gradle Plugin Version
 8646				"sonarQubeGradlePluginVersion"?: string
 8647
 8648				// The SonarQube server version is lower than 5.2
 8649				"sonarQubeSpecifyDB"?: bool
 8650
 8651				// Db Connection String
 8652				"sonarQubeDBUrl"?: string
 8653
 8654				// Db Username
 8655				"sonarQubeDBUsername"?: string
 8656
 8657				// Db User Password
 8658				"sonarQubeDBPassword"?: string
 8659
 8660				// Include full analysis report in the build summary (SQ 5.3+)
 8661				"sonarQubeIncludeFullReport"?: bool
 8662
 8663				// Fail the build on quality gate failure (SQ 5.3+)
 8664				"sonarQubeFailWhenQualityGateFails"?: bool
 8665
 8666				// Run Checkstyle
 8667				"checkStyleRunAnalysis"?: bool
 8668
 8669				// Run FindBugs
 8670				"findBugsRunAnalysis"?: bool
 8671
 8672				// Run PMD
 8673				"pmdRunAnalysis"?: bool
 8674			})
 8675			...
 8676		},
 8677		{
 8678			// Azure Test Plan
 8679			//
 8680			// Run manual and automated tests points of test plan for different testing
 8681			// frameworks like Maven and Gradle for Java, PyTest for Python and Jest for
 8682			// JavaScript
 8683			"task"!: null | bool | number | =~"^AzureTestPlan@0$" | [...] | {...}
 8684
 8685			// Azure Test Plan inputs
 8686			"inputs"!: null |
 8687			bool |
 8688			number |
 8689			string |
 8690			[...] |
 8691			close({
 8692				// Azure Resource Manager connection
 8693				"azureSubscription"?: string
 8694
 8695				// Test cases to be executed
 8696				"testSelector"!: "manualTests" | "automatedTests"
 8697
 8698				// Select tests using
 8699				"testPlanOrRunSelector"?: "testPlan" | "testRun"
 8700
 8701				// Test Run
 8702				"testRunId"?: string
 8703
 8704				// Test plan
 8705				"testPlan"?: string
 8706
 8707				// Test suite
 8708				"testSuite"?: string
 8709
 8710				// Test configuration
 8711				"testConfiguration"!: string
 8712
 8713				// Select Test framework language
 8714				"testLanguageInput"?: "JavaMaven" | "JavaGradle" | "Python" | "JavaScriptJest" | "Playwright"
 8715
 8716				// Pom file path
 8717				"pomFilePath"?: string
 8718
 8719				// Gradle file path
 8720				"gradleFilePath"?: string
 8721
 8722				// Upload test results files
 8723				"publishRunAttachments"?: bool
 8724
 8725				// Fail if there are test failures
 8726				"failTaskOnFailedTests"?: bool
 8727
 8728				// Fail if there is failure in publishing test results
 8729				"failTaskOnFailureToPublishResults"?: bool
 8730
 8731				// Fail if no result files are found
 8732				"failTaskOnMissingResultsFile"?: bool
 8733			})
 8734			...
 8735		},
 8736		{
 8737			// App Center distribute
 8738			//
 8739			// Distribute app builds to testers and users via Visual Studio App Center
 8740			"task"!: null | bool | number | =~"^AppCenterDistribute@1$" | [...] | {...}
 8741
 8742			// App Center distribute inputs
 8743			"inputs"!: null |
 8744			bool |
 8745			number |
 8746			string |
 8747			[...] |
 8748			close({
 8749				// App Center service connection
 8750				"serverEndpoint"!: string
 8751
 8752				// App slug
 8753				"appSlug"!: string
 8754
 8755				// Binary file path
 8756				"appFile"!: string
 8757
 8758				// Symbols type
 8759				"symbolsOption"?: "Apple"
 8760
 8761				// Symbols path
 8762				"symbolsPath"?: string
 8763
 8764				// Symbols path (*.pdb)
 8765				"symbolsPdbFiles"?: string
 8766
 8767				// dSYM path
 8768				"symbolsDsymFiles"?: string
 8769
 8770				// Mapping file
 8771				"symbolsMappingTxtFile"?: string
 8772
 8773				// Include all items in parent folder
 8774				"symbolsIncludeParentDirectory"?: bool
 8775
 8776				// Create release notes
 8777				"releaseNotesOption"?: "input" | "file"
 8778
 8779				// Release notes
 8780				"releaseNotesInput"?: string
 8781
 8782				// Release notes file
 8783				"releaseNotesFile"?: string
 8784
 8785				// Require users to update to this release
 8786				"isMandatory"?: bool
 8787
 8788				// Destination ID
 8789				"distributionGroupId"?: string
 8790			})
 8791			...
 8792		},
 8793		{
 8794			// App Center distribute
 8795			//
 8796			// Distribute app builds to testers and users via Visual Studio App Center
 8797			"task"!: null | bool | number | =~"^AppCenterDistribute@2$" | [...] | {...}
 8798
 8799			// App Center distribute inputs
 8800			"inputs"!: null |
 8801			bool |
 8802			number |
 8803			string |
 8804			[...] |
 8805			close({
 8806				// App Center service connection
 8807				"serverEndpoint"!: string
 8808
 8809				// App slug
 8810				"appSlug"!: string
 8811
 8812				// Binary file path
 8813				"appFile"!: string
 8814
 8815				// Symbols type
 8816				"symbolsOption"?: "Apple"
 8817
 8818				// Symbols path
 8819				"symbolsPath"?: string
 8820
 8821				// Symbols path (*.pdb)
 8822				"symbolsPdbFiles"?: string
 8823
 8824				// dSYM path
 8825				"symbolsDsymFiles"?: string
 8826
 8827				// Mapping file
 8828				"symbolsMappingTxtFile"?: string
 8829
 8830				// Include all items in parent folder
 8831				"symbolsIncludeParentDirectory"?: bool
 8832
 8833				// Create release notes
 8834				"releaseNotesOption"?: "input" | "file"
 8835
 8836				// Release notes
 8837				"releaseNotesInput"?: string
 8838
 8839				// Release notes file
 8840				"releaseNotesFile"?: string
 8841
 8842				// Require users to update to this release
 8843				"isMandatory"?: bool
 8844
 8845				// Destination IDs
 8846				"distributionGroupId"?: string
 8847			})
 8848			...
 8849		},
 8850		{
 8851			// App Center distribute
 8852			//
 8853			// Distribute app builds to testers and users via Visual Studio App Center
 8854			"task"!: null | bool | number | =~"^AppCenterDistribute@3$" | [...] | {...}
 8855
 8856			// App Center distribute inputs
 8857			"inputs"!: null |
 8858			bool |
 8859			number |
 8860			string |
 8861			[...] |
 8862			close({
 8863				// App Center service connection
 8864				"serverEndpoint"!: string
 8865
 8866				// App slug
 8867				"appSlug"!: string
 8868
 8869				// Binary file path
 8870				"appFile"!: string
 8871
 8872				// Build version
 8873				"buildVersion"?: string
 8874
 8875				// Symbols type
 8876				"symbolsOption"?: "Apple" | "Android" | "UWP"
 8877
 8878				// Symbols path
 8879				"symbolsPath"?: string
 8880
 8881				// Symbols path (*.appxsym)
 8882				"appxsymPath"?: string
 8883
 8884				// dSYM path
 8885				"symbolsDsymFiles"?: string
 8886
 8887				// Mapping file
 8888				"symbolsMappingTxtFile"?: string
 8889
 8890				// Native Library File Path
 8891				"nativeLibrariesPath"?: string
 8892
 8893				// Include all items in parent folder
 8894				"symbolsIncludeParentDirectory"?: bool
 8895
 8896				// Create release notes
 8897				"releaseNotesOption"?: "input" | "file"
 8898
 8899				// Release notes
 8900				"releaseNotesInput"?: string
 8901
 8902				// Release notes file
 8903				"releaseNotesFile"?: string
 8904
 8905				// Require users to update to this release
 8906				"isMandatory"?: bool
 8907
 8908				// Release destination
 8909				"destinationType"?: "groups" | "store"
 8910
 8911				// Destination IDs
 8912				"distributionGroupId"?: string
 8913
 8914				// Destination ID
 8915				"destinationStoreId"?: string
 8916
 8917				// Do not notify testers. Release will still be available to install.
 8918				"isSilent"?: bool
 8919			})
 8920			...
 8921		},
 8922		{
 8923			// App Center Distribute
 8924			//
 8925			// Distribute app builds to testers and users via App Center
 8926			"task"!: null | bool | number | =~"^AppCenterDistribute@0$" | [...] | {...}
 8927
 8928			// App Center Distribute inputs
 8929			"inputs"!: null |
 8930			bool |
 8931			number |
 8932			string |
 8933			[...] |
 8934			close({
 8935				// App Center connection
 8936				"serverEndpoint"!: string
 8937
 8938				// App slug
 8939				"appSlug"!: string
 8940
 8941				// Binary file path
 8942				"appFile"!: string
 8943
 8944				// Symbols type
 8945				"symbolsOption"?: "Apple"
 8946
 8947				// Symbols path
 8948				"symbolsPath"?: string
 8949
 8950				// Symbols path (*.pdb)
 8951				"symbolsPdbFiles"?: string
 8952
 8953				// dSYM path
 8954				"symbolsDsymFiles"?: string
 8955
 8956				// Mapping file
 8957				"symbolsMappingTxtFile"?: string
 8958
 8959				// Include all items in parent folder
 8960				"symbolsIncludeParentDirectory"?: bool
 8961
 8962				// Create release notes
 8963				"releaseNotesOption"?: "input" | "file"
 8964
 8965				// Release notes
 8966				"releaseNotesInput"?: string
 8967
 8968				// Release notes file
 8969				"releaseNotesFile"?: string
 8970
 8971				// Distribution group ID
 8972				"distributionGroupId"?: string
 8973			})
 8974			...
 8975		},
 8976		{
 8977			// NuGet tool installer
 8978			//
 8979			// Acquires a specific version of NuGet from the internet or the tools cache and
 8980			// adds it to the PATH. Use this task to change the version of NuGet used in
 8981			// the NuGet tasks.
 8982			"task"!: null | bool | number | =~"^NuGetToolInstaller@0$" | [...] | {...}
 8983
 8984			// NuGet tool installer inputs
 8985			"inputs"?: null |
 8986			bool |
 8987			number |
 8988			string |
 8989			[...] |
 8990			close({
 8991				// Version of NuGet.exe to install
 8992				"versionSpec"?: string
 8993
 8994				// Always download the latest matching version
 8995				"checkLatest"?: bool
 8996			})
 8997			...
 8998		},
 8999		{
 9000			// NuGet tool installer
 9001			//
 9002			// Acquires a specific version of NuGet from the internet or the tools cache and
 9003			// adds it to the PATH. Use this task to change the version of NuGet used in
 9004			// the NuGet tasks.
 9005			"task"!: null | bool | number | =~"^NuGetToolInstaller@1$" | [...] | {...}
 9006
 9007			// NuGet tool installer inputs
 9008			"inputs"?: null |
 9009			bool |
 9010			number |
 9011			string |
 9012			[...] |
 9013			close({
 9014				// Version of NuGet.exe to install
 9015				"versionSpec"?: string
 9016
 9017				// Always check for new versions
 9018				"checkLatest"?: bool
 9019			})
 9020			...
 9021		},
 9022		{
 9023			// Jenkins download artifacts
 9024			//
 9025			// Download artifacts produced by a Jenkins job
 9026			"task"!: null | bool | number | =~"^JenkinsDownloadArtifacts@2$" | [...] | {...}
 9027
 9028			// Jenkins download artifacts inputs
 9029			"inputs"!: null |
 9030			bool |
 9031			number |
 9032			string |
 9033			[...] |
 9034			close({
 9035				// Jenkins service connection
 9036				"jenkinsServerConnection"!: string
 9037
 9038				// Job name
 9039				"jobName"!: string
 9040
 9041				// Jenkins job type
 9042				"jenkinsJobType"?: string
 9043
 9044				// Save to
 9045				"saveTo"?: string
 9046
 9047				// Download artifacts produced by
 9048				"jenkinsBuild"?: "LastSuccessfulBuild" | "BuildNumber"
 9049
 9050				// Jenkins build number
 9051				"jenkinsBuildNumber"?: string
 9052
 9053				// Item Pattern
 9054				"itemPattern"?: string
 9055
 9056				// Download Commits and WorkItems
 9057				"downloadCommitsAndWorkItems"?: bool
 9058
 9059				// Download commits and work items from
 9060				"startJenkinsBuildNumber"?: string
 9061
 9062				// Commit and WorkItem FileName
 9063				"artifactDetailsFileNameSuffix"?: string
 9064
 9065				// Artifacts are propagated to Azure
 9066				"propagatedArtifacts"?: bool
 9067
 9068				// Artifact Provider
 9069				"artifactProvider"?: "azureStorage"
 9070
 9071				// Azure Subscription
 9072				"ConnectedServiceNameARM"?: string
 9073
 9074				// Storage Account Name
 9075				"storageAccountName"?: string
 9076
 9077				// Container Name
 9078				"containerName"?: string
 9079
 9080				// Common Virtual Path
 9081				"commonVirtualPath"?: string
 9082			})
 9083			...
 9084		},
 9085		{
 9086			// Jenkins download artifacts
 9087			//
 9088			// Download artifacts produced by a Jenkins job
 9089			"task"!: null | bool | number | =~"^JenkinsDownloadArtifacts@1$" | [...] | {...}
 9090
 9091			// Jenkins download artifacts inputs
 9092			"inputs"!: null |
 9093			bool |
 9094			number |
 9095			string |
 9096			[...] |
 9097			close({
 9098				// Jenkins service connection
 9099				"jenkinsServerConnection"!: string
 9100
 9101				// Job name
 9102				"jobName"!: string
 9103
 9104				// Jenkins job type
 9105				"jenkinsJobType"?: string
 9106
 9107				// Save to
 9108				"saveTo"?: string
 9109
 9110				// Download artifacts produced by
 9111				"jenkinsBuild"?: "LastSuccessfulBuild" | "BuildNumber"
 9112
 9113				// Jenkins build number
 9114				"jenkinsBuildNumber"?: string
 9115
 9116				// Item Pattern
 9117				"itemPattern"?: string
 9118
 9119				// Download Commits and WorkItems
 9120				"downloadCommitsAndWorkItems"?: bool
 9121
 9122				// Download commits and work items from
 9123				"startJenkinsBuildNumber"?: string
 9124
 9125				// Commit and WorkItem FileName
 9126				"artifactDetailsFileNameSuffix"?: string
 9127
 9128				// Artifacts are propagated to Azure
 9129				"propagatedArtifacts"?: bool
 9130
 9131				// Artifact Provider
 9132				"artifactProvider"?: "azureStorage"
 9133
 9134				// Azure Subscription
 9135				"ConnectedServiceNameARM"?: string
 9136
 9137				// Storage Account Name
 9138				"storageAccountName"?: string
 9139
 9140				// Container Name
 9141				"containerName"?: string
 9142
 9143				// Common Virtual Path
 9144				"commonVirtualPath"?: string
 9145			})
 9146			...
 9147		},
 9148		{
 9149			// Jenkins download artifacts
 9150			//
 9151			// Download artifacts produced by a Jenkins job
 9152			"task"!: null | bool | number | =~"^JenkinsDownloadArtifacts@2$" | [...] | {...}
 9153
 9154			// Jenkins download artifacts inputs
 9155			"inputs"!: null |
 9156			bool |
 9157			number |
 9158			string |
 9159			[...] |
 9160			close({
 9161				// Jenkins service connection
 9162				"jenkinsServerConnection"!: string
 9163
 9164				// Job name
 9165				"jobName"!: string
 9166
 9167				// Jenkins job type
 9168				"jenkinsJobType"?: string
 9169
 9170				// Save to
 9171				"saveTo"?: string
 9172
 9173				// Download artifacts produced by
 9174				"jenkinsBuild"?: "LastSuccessfulBuild" | "BuildNumber"
 9175
 9176				// Jenkins build number
 9177				"jenkinsBuildNumber"?: string
 9178
 9179				// Item Pattern
 9180				"itemPattern"?: string
 9181
 9182				// Download Commits and WorkItems
 9183				"downloadCommitsAndWorkItems"?: bool
 9184
 9185				// Download commits and work items from
 9186				"startJenkinsBuildNumber"?: string
 9187
 9188				// Commit and WorkItem FileName
 9189				"artifactDetailsFileNameSuffix"?: string
 9190
 9191				// Artifacts are propagated to Azure
 9192				"propagatedArtifacts"?: bool
 9193
 9194				// Artifact Provider
 9195				"artifactProvider"?: "azureStorage"
 9196
 9197				// Azure Subscription
 9198				"ConnectedServiceNameARM"?: string
 9199
 9200				// Storage Account Name
 9201				"storageAccountName"?: string
 9202
 9203				// Container Name
 9204				"containerName"?: string
 9205
 9206				// Common Virtual Path
 9207				"commonVirtualPath"?: string
 9208			})
 9209			...
 9210		},
 9211		{
 9212			// Azure Functions for container
 9213			//
 9214			// Update a function app with a Docker container
 9215			"task"!: null | bool | number | =~"^AzureFunctionAppContainer@1$" | [...] | {...}
 9216
 9217			// Azure Functions for container inputs
 9218			"inputs"!: null |
 9219			bool |
 9220			number |
 9221			string |
 9222			[...] |
 9223			close({
 9224				// Azure subscription
 9225				"azureSubscription"!: string
 9226
 9227				// App name
 9228				"appName"!: string
 9229
 9230				// Deploy to Slot or App Service Environment
 9231				"deployToSlotOrASE"?: bool
 9232
 9233				// Resource group
 9234				"resourceGroupName"?: string
 9235
 9236				// Slot
 9237				"slotName"?: string
 9238
 9239				// Image name
 9240				"imageName"!: string
 9241
 9242				// Startup command
 9243				"containerCommand"?: string
 9244
 9245				// App settings
 9246				"appSettings"?: string
 9247
 9248				// Configuration settings
 9249				"configurationStrings"?: string
 9250			})
 9251			...
 9252		},
 9253		{
 9254			// Decrypt file (OpenSSL)
 9255			//
 9256			// Decrypt a file using OpenSSL
 9257			"task"!: null | bool | number | =~"^DecryptFile@1$" | [...] | {...}
 9258
 9259			// Decrypt file (OpenSSL) inputs
 9260			"inputs"!: null |
 9261			bool |
 9262			number |
 9263			string |
 9264			[...] |
 9265			close({
 9266				// Cypher
 9267				"cipher"?: string
 9268
 9269				// Encrypted file
 9270				"inFile"!: string
 9271
 9272				// Passphrase
 9273				"passphrase"!: string
 9274
 9275				// Decrypted file path
 9276				"outFile"?: string
 9277
 9278				// Working directory
 9279				"workingDirectory"?: string
 9280			})
 9281			...
 9282		},
 9283		{
 9284			// Package and deploy Helm charts
 9285			//
 9286			// Deploy, configure, update a Kubernetes cluster in Azure Container Service by
 9287			// running helm commands
 9288			"task"!: null | bool | number | =~"^HelmDeploy@1$" | [...] | {...}
 9289
 9290			// Package and deploy Helm charts inputs
 9291			"inputs"!: null |
 9292			bool |
 9293			number |
 9294			string |
 9295			[...] |
 9296			close({
 9297				// Connection Type
 9298				"connectionType"?: "Azure Resource Manager" | "Kubernetes Service Connection" | "None"
 9299
 9300				// Azure subscription
 9301				"azureSubscription"?: string
 9302
 9303				// Resource group
 9304				"azureResourceGroup"?: string
 9305
 9306				// Kubernetes cluster
 9307				"kubernetesCluster"?: string
 9308
 9309				// Use cluster admin credentials
 9310				"useClusterAdmin"?: bool
 9311
 9312				// Kubernetes Service Connection
 9313				"kubernetesServiceConnection"?: string
 9314
 9315				// Namespace
 9316				"namespace"?: string
 9317
 9318				// Azure subscription for Container Registry
 9319				"azureSubscriptionForACR"!: string
 9320
 9321				// Resource group
 9322				"azureResourceGroupForACR"!: string
 9323
 9324				// Azure Container Registry
 9325				"azureContainerRegistry"!: string
 9326
 9327				// Command
 9328				"command"?: "create" |
 9329					"delete" |
 9330					"expose" |
 9331					"get" |
 9332					"init" |
 9333					"install" |
 9334					"login" |
 9335					"logout" |
 9336					"ls" |
 9337					"package" |
 9338					"rollback" |
 9339					"upgrade" |
 9340					"uninstall"
 9341
 9342				// Chart Type
 9343				"chartType"?: "Name" | "FilePath"
 9344
 9345				// Chart Name
 9346				"chartName"?: string
 9347
 9348				// Chart Path
 9349				"chartPath"?: string
 9350
 9351				// Version
 9352				"chartVersion"?: string
 9353
 9354				// Release Name
 9355				"releaseName"?: string
 9356
 9357				// Set Values
 9358				"overrideValues"?: string
 9359
 9360				// Value File
 9361				"valueFile"?: string
 9362
 9363				// Destination
 9364				"destination"?: string
 9365
 9366				// Use canary image version.
 9367				"canaryImage"?: bool
 9368
 9369				// Upgrade Tiller
 9370				"upgradeTiller"?: bool
 9371
 9372				// Update Dependency
 9373				"updateDependency"?: bool
 9374
 9375				// Save
 9376				"save"?: bool
 9377
 9378				// Install if release not present.
 9379				"install"?: bool
 9380
 9381				// Recreate Pods.
 9382				"recreate"?: bool
 9383
 9384				// Reset Values.
 9385				"resetValues"?: bool
 9386
 9387				// Force
 9388				"force"?: bool
 9389
 9390				// Wait
 9391				"waitForExecution"?: bool
 9392
 9393				// Arguments
 9394				"arguments"?: string
 9395
 9396				// Enable TLS
 9397				"enableTls"?: bool
 9398
 9399				// CA certificate
 9400				"caCert"?: string
 9401
 9402				// Certificate
 9403				"certificate"?: string
 9404
 9405				// Key
 9406				"privatekey"?: string
 9407
 9408				// Tiller namespace
 9409				"tillerNamespace"?: string
 9410
 9411				// Fail on Standard Error
 9412				"failOnStderr"?: bool
 9413
 9414				// Publish pipeline metadata
 9415				"publishPipelineMetadata"?: bool
 9416
 9417				// Chart Name For Azure Container Registry
 9418				"chartNameForACR"?: string
 9419
 9420				// Chart Path for Azure Container Registry
 9421				"chartPathForACR"?: string
 9422			})
 9423			...
 9424		},
 9425		{
 9426			// Package and deploy Helm charts
 9427			//
 9428			// Deploy, configure, update a Kubernetes cluster in Azure Container Service by
 9429			// running helm commands
 9430			"task"!: null | bool | number | =~"^HelmDeploy@0$" | [...] | {...}
 9431
 9432			// Package and deploy Helm charts inputs
 9433			"inputs"!: null |
 9434			bool |
 9435			number |
 9436			string |
 9437			[...] |
 9438			close({
 9439				// Connection Type
 9440				"connectionType"?: "Azure Resource Manager" | "Kubernetes Service Connection" | "None"
 9441
 9442				// Azure subscription
 9443				"azureSubscription"?: string
 9444
 9445				// Resource group
 9446				"azureResourceGroup"?: string
 9447
 9448				// Kubernetes cluster
 9449				"kubernetesCluster"?: string
 9450
 9451				// Use cluster admin credentials
 9452				"useClusterAdmin"?: bool
 9453
 9454				// Kubernetes Service Connection
 9455				"kubernetesServiceConnection"?: string
 9456
 9457				// Namespace
 9458				"namespace"?: string
 9459
 9460				// Azure subscription for Container Registry
 9461				"azureSubscriptionForACR"!: string
 9462
 9463				// Resource group
 9464				"azureResourceGroupForACR"!: string
 9465
 9466				// Azure Container Registry
 9467				"azureContainerRegistry"!: string
 9468
 9469				// Command
 9470				"command"?: "create" |
 9471					"delete" |
 9472					"expose" |
 9473					"get" |
 9474					"init" |
 9475					"install" |
 9476					"login" |
 9477					"logout" |
 9478					"ls" |
 9479					"push" |
 9480					"package" |
 9481					"rollback" |
 9482					"save" |
 9483					"upgrade" |
 9484					"uninstall"
 9485
 9486				// Chart Type
 9487				"chartType"?: "Name" | "FilePath"
 9488
 9489				// Chart Name
 9490				"chartName"?: string
 9491
 9492				// Chart Path
 9493				"chartPath"?: string
 9494
 9495				// Remote Repo
 9496				"remoteRepo"?: string
 9497
 9498				// Version
 9499				"chartVersion"?: string
 9500
 9501				// Release Name
 9502				"releaseName"?: string
 9503
 9504				// Set Values
 9505				"overrideValues"?: string
 9506
 9507				// Value File
 9508				"valueFile"?: string
 9509
 9510				// Destination
 9511				"destination"?: string
 9512
 9513				// Use canary image version.
 9514				"canaryImage"?: bool
 9515
 9516				// Upgrade Tiller
 9517				"upgradeTiller"?: bool
 9518
 9519				// Update Dependency
 9520				"updateDependency"?: bool
 9521
 9522				// Save
 9523				"save"?: bool
 9524
 9525				// Install if release not present.
 9526				"install"?: bool
 9527
 9528				// Recreate Pods.
 9529				"recreate"?: bool
 9530
 9531				// Reset Values.
 9532				"resetValues"?: bool
 9533
 9534				// Force
 9535				"force"?: bool
 9536
 9537				// Wait
 9538				"waitForExecution"?: bool
 9539
 9540				// Arguments
 9541				"arguments"?: string
 9542
 9543				// Enable TLS
 9544				"enableTls"?: bool
 9545
 9546				// CA certificate
 9547				"caCert"?: string
 9548
 9549				// Certificate
 9550				"certificate"?: string
 9551
 9552				// Key
 9553				"privatekey"?: string
 9554
 9555				// Tiller namespace
 9556				"tillerNamespace"?: string
 9557
 9558				// Fail on Standard Error
 9559				"failOnStderr"?: bool
 9560
 9561				// Publish pipeline metadata
 9562				"publishPipelineMetadata"?: bool
 9563
 9564				// Chart Name For Azure Container Registry
 9565				"chartNameForACR"?: string
 9566
 9567				// Chart Path for Azure Container Registry
 9568				"chartPathForACR"?: string
 9569			})
 9570			...
 9571		},
 9572		{
 9573			// Install Apple certificate
 9574			//
 9575			// Install an Apple certificate required to build on a macOS agent machine
 9576			"task"!: null | bool | number | =~"^InstallAppleCertificate@2$" | [...] | {...}
 9577
 9578			// Install Apple certificate inputs
 9579			"inputs"!: null |
 9580			bool |
 9581			number |
 9582			string |
 9583			[...] |
 9584			close({
 9585				// Certificate (P12)
 9586				"certSecureFile"!: string
 9587
 9588				// Certificate (P12) password
 9589				"certPwd"?: string
 9590
 9591				// Keychain
 9592				"keychain"?: "default" | "temp" | "custom"
 9593
 9594				// Keychain password
 9595				"keychainPassword"?: string
 9596
 9597				// Custom keychain path
 9598				"customKeychainPath"?: string
 9599
 9600				// Delete certificate from keychain
 9601				"deleteCert"?: bool
 9602
 9603				// Delete custom keychain
 9604				"deleteCustomKeychain"?: bool
 9605
 9606				// Certificate signing identity
 9607				"signingIdentity"?: string
 9608
 9609				// Set up partition_id ACL for the imported private key
 9610				"setUpPartitionIdACLForPrivateKey"?: bool
 9611
 9612				// OpenSSL arguments for PKCS12
 9613				"opensslPkcsArgs"?: string
 9614			})
 9615			...
 9616		},
 9617		{
 9618			// Install Apple Certificate
 9619			//
 9620			// Install an Apple certificate required to build on a macOS agent
 9621			"task"!: null | bool | number | =~"^InstallAppleCertificate@1$" | [...] | {...}
 9622
 9623			// Install Apple Certificate inputs
 9624			"inputs"!: null |
 9625			bool |
 9626			number |
 9627			string |
 9628			[...] |
 9629			close({
 9630				// Certificate (P12)
 9631				"certSecureFile"!: string
 9632
 9633				// Certificate (P12) password
 9634				"certPwd"?: string
 9635
 9636				// Keychain
 9637				"keychain"?: "default" | "temp" | "custom"
 9638
 9639				// Keychain password
 9640				"keychainPassword"?: string
 9641
 9642				// Custom keychain path
 9643				"customKeychainPath"?: string
 9644
 9645				// Delete certificate from keychain
 9646				"deleteCert"?: bool
 9647
 9648				// Delete custom keychain
 9649				"deleteCustomKeychain"?: bool
 9650
 9651				// Certificate signing identity
 9652				"signingIdentity"?: string
 9653			})
 9654			...
 9655		},
 9656		{
 9657			// Install Apple Certificate
 9658			//
 9659			// Install an Apple certificate required to build on a macOS agent
 9660			"task"!: null | bool | number | =~"^InstallAppleCertificate@0$" | [...] | {...}
 9661
 9662			// Install Apple Certificate inputs
 9663			"inputs"!: null |
 9664			bool |
 9665			number |
 9666			string |
 9667			[...] |
 9668			close({
 9669				// Certificate (P12)
 9670				"certSecureFile"!: string
 9671
 9672				// Certificate (P12) Password
 9673				"certPwd"?: string
 9674
 9675				// Keychain
 9676				"keychain"?: "default" | "temp" | "custom"
 9677
 9678				// Keychain Password
 9679				"keychainPassword"?: string
 9680
 9681				// Custom Keychain Path
 9682				"customKeychainPath"?: string
 9683
 9684				// Delete Certificate from Keychain
 9685				"deleteCert"?: bool
 9686
 9687				// Delete Custom Keychain
 9688				"deleteCustomKeychain"?: bool
 9689
 9690				// Certificate Signing Identity
 9691				"signingIdentity"?: string
 9692			})
 9693			...
 9694		},
 9695		{
 9696			// Invoke Azure Function
 9697			//
 9698			// Invoke an Azure Function
 9699			"task"!: null | bool | number | =~"^AzureFunction@1$" | [...] | {...}
 9700
 9701			// Invoke Azure Function inputs
 9702			"inputs"!: null |
 9703			bool |
 9704			number |
 9705			string |
 9706			[...] |
 9707			close({
 9708				// Azure function URL
 9709				"function"!: string
 9710
 9711				// Function key
 9712				"key"!: string
 9713
 9714				// Method
 9715				"method"?: "OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "TRACE" | "PATCH"
 9716
 9717				// Headers
 9718				"headers"?: string
 9719
 9720				// Query parameters
 9721				"queryParameters"?: string
 9722
 9723				// Body
 9724				"body"?: string
 9725
 9726				// Completion event
 9727				"waitForCompletion"?: "true" | "false"
 9728
 9729				// Success criteria
 9730				"successCriteria"?: string
 9731			})
 9732			...
 9733		},
 9734		{
 9735			// Invoke Azure Function
 9736			//
 9737			// Invoke Azure function as a part of your process.
 9738			"task"!: null | bool | number | =~"^AzureFunction@0$" | [...] | {...}
 9739
 9740			// Invoke Azure Function inputs
 9741			"inputs"!: null |
 9742			bool |
 9743			number |
 9744			string |
 9745			[...] |
 9746			close({
 9747				// Azure function url
 9748				"function"!: string
 9749
 9750				// Function key
 9751				"key"!: string
 9752
 9753				// Method
 9754				"method"?: "OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "TRACE" | "PATCH"
 9755
 9756				// Headers
 9757				"headers"?: string
 9758
 9759				// Query parameters
 9760				"queryParameters"?: string
 9761
 9762				// Body
 9763				"body"?: string
 9764
 9765				// Complete based on
 9766				"waitForCompletion"?: "true" | "false"
 9767
 9768				// Success criteria
 9769				"successCriteria"?: string
 9770			})
 9771			...
 9772		},
 9773		{
 9774			// Open Policy Agent Installer
 9775			//
 9776			// Install Open Policy Agent on agent machine
 9777			"task"!: null | bool | number | =~"^OpenPolicyAgentInstaller@0$" | [...] | {...}
 9778
 9779			// Open Policy Agent Installer inputs
 9780			"inputs"?: null |
 9781			bool |
 9782			number |
 9783			string |
 9784			[...] |
 9785			close({
 9786				// OPA Version Spec
 9787				"opaVersion"?: string
 9788			})
 9789			...
 9790		},
 9791		{
 9792			// Download GitHub Release
 9793			//
 9794			// Downloads a GitHub Release from a repository
 9795			"task"!: null | bool | number | =~"^DownloadGitHubRelease@0$" | [...] | {...}
 9796
 9797			// Download GitHub Release inputs
 9798			"inputs"!: null |
 9799			bool |
 9800			number |
 9801			string |
 9802			[...] |
 9803			close({
 9804				// GitHub Connection
 9805				"connection"!: string
 9806
 9807				// Repository
 9808				"userRepository"!: string
 9809
 9810				// Default version
 9811				"defaultVersionType"?: "latest" | "specificVersion" | "specificTag"
 9812
 9813				// Release
 9814				"version"?: string
 9815
 9816				// Item Pattern
 9817				"itemPattern"?: string
 9818
 9819				// Destination directory
 9820				"downloadPath"?: string
 9821			})
 9822			...
 9823		},
 9824		{
 9825			// SSH
 9826			//
 9827			// Run shell commands or a script on a remote machine using SSH
 9828			"task"!: null | bool | number | =~"^SSH@0$" | [...] | {...}
 9829
 9830			// SSH inputs
 9831			"inputs"!: null |
 9832			bool |
 9833			number |
 9834			string |
 9835			[...] |
 9836			close({
 9837				// SSH service connection
 9838				"sshEndpoint"!: string
 9839
 9840				// Run
 9841				"runOptions"?: "commands" | "script" | "inline"
 9842
 9843				// Commands
 9844				"commands"?: string
 9845
 9846				// Shell script path
 9847				"scriptPath"?: string
 9848
 9849				// Inline Script
 9850				"inline"?: string
 9851
 9852				// Interpreter command
 9853				"interpreterCommand"?: string
 9854
 9855				// Arguments
 9856				"args"?: string
 9857
 9858				// Fail on STDERR
 9859				"failOnStdErr"?: bool
 9860
 9861				// Enable interactive session
 9862				"interactiveSession"?: bool
 9863
 9864				// SSH handshake timeout
 9865				"readyTimeout"?: string
 9866
 9867				// Use interactive-keyboard authentication
 9868				"interactiveKeyboardAuthentication"?: bool
 9869			})
 9870			...
 9871		},
 9872		{
 9873			// Publish pipeline artifact
 9874			//
 9875			// Publish a local directory or file as a named artifact for the current pipeline
 9876			"task"!: null | bool | number | =~"^PublishPipelineArtifact@0$" | [...] | {...}
 9877
 9878			// Publish pipeline artifact inputs
 9879			"inputs"!: null |
 9880			bool |
 9881			number |
 9882			string |
 9883			[...] |
 9884			close({
 9885				// The name of this artifact
 9886				"artifactName"?: string
 9887
 9888				// Path to publish
 9889				"targetPath"!: string
 9890
 9891				// Custom properties
 9892				"properties"?: string
 9893			})
 9894			...
 9895		},
 9896		{
 9897			// Publish Pipeline Artifacts
 9898			//
 9899			// Publish (upload) a file or directory as a named artifact for the current run
 9900			"task"!: null | bool | number | =~"^PublishPipelineArtifact@1$" | [...] | {...}
 9901
 9902			// Publish Pipeline Artifacts inputs
 9903			"inputs"?: null |
 9904			bool |
 9905			number |
 9906			string |
 9907			[...] |
 9908			close({
 9909				// File or directory path
 9910				"targetPath"?: string
 9911
 9912				// Artifact name
 9913				"artifact"?: string
 9914
 9915				// Artifact publish location
 9916				"publishLocation"?: "pipeline" | "filepath"
 9917
 9918				// File share path
 9919				"fileSharePath"?: string
 9920
 9921				// Parallel copy
 9922				"parallel"?: bool
 9923
 9924				// Parallel count
 9925				"parallelCount"?: int
 9926
 9927				// Custom properties
 9928				"properties"?: string
 9929			})
 9930			...
 9931		},
 9932		{
 9933			// SonarQube for MSBuild - Begin Analysis
 9934			//
 9935			// [DEPRECATED] Fetch the Quality Profile from SonarQube to configure the analysis
 9936			"task"!: null | bool | number | =~"^SonarQubePreBuild@1$" | [...] | {...}
 9937
 9938			// SonarQube for MSBuild - Begin Analysis inputs
 9939			"inputs"!: null |
 9940			bool |
 9941			number |
 9942			string |
 9943			[...] |
 9944			close({
 9945				// Project Key
 9946				"projectKey"!: string
 9947
 9948				// Project Name
 9949				"projectName"!: string
 9950
 9951				// Project Version
 9952				"projectVersion"?: string
 9953
 9954				// SonarQube Endpoint
 9955				"connectedServiceName"!: string
 9956
 9957				// Db Connection String
 9958				"dbUrl"?: string
 9959
 9960				// Db UserName
 9961				"dbUsername"?: string
 9962
 9963				// Db User Password
 9964				"dbPassword"?: string
 9965
 9966				// Additional Settings
 9967				"cmdLineArgs"?: string
 9968
 9969				// Settings File
 9970				"configFile"?: string
 9971
 9972				// Include full analysis report in the build summary (SQ 5.3+)
 9973				"includeFullReport"?: bool
 9974
 9975				// Fail the build on quality gate failure (SQ 5.3+)
 9976				"breakBuild"?: bool
 9977			})
 9978			...
 9979		},
 9980		{
 9981			// Download artifacts from file share
 9982			//
 9983			// Download artifacts from a file share, like \\share\drop
 9984			"task"!: null | bool | number | =~"^DownloadFileshareArtifacts@1$" | [...] | {...}
 9985
 9986			// Download artifacts from file share inputs
 9987			"inputs"!: null |
 9988			bool |
 9989			number |
 9990			string |
 9991			[...] |
 9992			close({
 9993				// File share path
 9994				"filesharePath"!: string
 9995
 9996				// Artifact name
 9997				"artifactName"!: string
 9998
 9999				// Matching pattern
10000				"itemPattern"?: string
10001
10002				// Download path
10003				"downloadPath"?: string
10004
10005				// Parallelization limit
10006				"parallelizationLimit"?: string
10007			})
10008			...
10009		},
10010		{
10011			// Kubectl
10012			//
10013			// Deploy, configure, update a Kubernetes cluster in Azure Container Service by
10014			// running kubectl commands
10015			"task"!: null | bool | number | =~"^Kubernetes@1$" | [...] | {...}
10016
10017			// Kubectl inputs
10018			"inputs"?: null |
10019			bool |
10020			number |
10021			string |
10022			[...] |
10023			close({
10024				// Service connection type
10025				"connectionType"?: "Azure Resource Manager" | "Kubernetes Service Connection" | "None"
10026
10027				// Kubernetes service connection
10028				"kubernetesServiceEndpoint"?: string
10029
10030				// Azure subscription
10031				"azureSubscriptionEndpoint"?: string
10032
10033				// Resource group
10034				"azureResourceGroup"?: string
10035
10036				// Kubernetes cluster
10037				"kubernetesCluster"?: string
10038
10039				// Use cluster admin credentials
10040				"useClusterAdmin"?: bool
10041
10042				// Namespace
10043				"namespace"?: string
10044
10045				// Command
10046				"command"?: "apply" |
10047					"create" |
10048					"delete" |
10049					"exec" |
10050					"expose" |
10051					"get" |
10052					"login" |
10053					"logout" |
10054					"logs" |
10055					"rollout" |
10056					"run" |
10057					"set" |
10058					"top"
10059
10060				// Use configuration
10061				"useConfigurationFile"?: bool
10062
10063				// Configuration type
10064				"configurationType"?: "configuration" | "inline"
10065
10066				// File path
10067				"configuration"?: string
10068
10069				// Inline configuration
10070				"inline"?: string
10071
10072				// Arguments
10073				"arguments"?: string
10074
10075				// Type of secret
10076				"secretType"?: "dockerRegistry" | "generic"
10077
10078				// Arguments
10079				"secretArguments"?: string
10080
10081				// Container registry type
10082				"containerRegistryType"?: "Azure Container Registry" | "Container Registry"
10083
10084				// Docker registry service connection
10085				"dockerRegistryEndpoint"?: string
10086
10087				// Azure subscription
10088				"azureSubscriptionEndpointForSecrets"?: string
10089
10090				// Azure container registry
10091				"azureContainerRegistry"?: string
10092
10093				// Secret name
10094				"secretName"?: string
10095
10096				// Force update secret
10097				"forceUpdate"?: bool
10098
10099				// ConfigMap name
10100				"configMapName"?: string
10101
10102				// Force update configmap
10103				"forceUpdateConfigMap"?: bool
10104
10105				// Use file
10106				"useConfigMapFile"?: bool
10107
10108				// ConfigMap file
10109				"configMapFile"?: string
10110
10111				// Arguments
10112				"configMapArguments"?: string
10113
10114				// Kubectl
10115				"versionOrLocation"?: "version" | "location"
10116
10117				// Version spec
10118				"versionSpec"?: string
10119
10120				// Check for latest version
10121				"checkLatest"?: bool
10122
10123				// Path to kubectl
10124				"specifyLocation"?: string
10125
10126				// Working directory
10127				"workingDirectory"?: string
10128
10129				// Output format
10130				"outputFormat"?: "json" | "yaml" | "none"
10131			})
10132			...
10133		},
10134		{
10135			// Kubectl
10136			//
10137			// Deploy, configure, update a Kubernetes cluster in Azure Container Service by
10138			// running kubectl commands
10139			"task"!: null | bool | number | =~"^Kubernetes@0$" | [...] | {...}
10140
10141			// Kubectl inputs
10142			"inputs"?: null |
10143			bool |
10144			number |
10145			string |
10146			[...] |
10147			close({
10148				// Kubernetes service connection
10149				"kubernetesServiceConnection"?: string
10150
10151				// Namespace
10152				"namespace"?: string
10153
10154				// Command
10155				"command"?: "apply" | "create" | "delete" | "exec" | "expose" | "get" | "logs" | "run" | "set" | "top"
10156
10157				// Use Configuration files
10158				"useConfigurationFile"?: bool
10159
10160				// Configuration file
10161				"configuration"?: string
10162
10163				// Arguments
10164				"arguments"?: string
10165
10166				// Type of secret
10167				"secretType"?: "dockerRegistry" | "generic"
10168
10169				// Arguments
10170				"secretArguments"?: string
10171
10172				// Container Registry type
10173				"containerRegistryType"?: "Azure Container Registry" | "Container Registry"
10174
10175				// Docker Registry service connection
10176				"dockerRegistryConnection"?: string
10177
10178				// Azure subscription
10179				"azureSubscription"?: string
10180
10181				// Azure Container Registry
10182				"azureContainerRegistry"?: string
10183
10184				// Secret name
10185				"secretName"?: string
10186
10187				// Force update secret
10188				"forceUpdate"?: bool
10189
10190				// ConfigMap name
10191				"configMapName"?: string
10192
10193				// Force update configmap
10194				"forceUpdateConfigMap"?: bool
10195
10196				// Use file
10197				"useConfigMapFile"?: bool
10198
10199				// ConfigMap file
10200				"configMapFile"?: string
10201
10202				// Arguments
10203				"configMapArguments"?: string
10204
10205				// Kubectl
10206				"versionOrLocation"?: "version" | "location"
10207
10208				// Version spec
10209				"versionSpec"?: string
10210
10211				// Check for latest version
10212				"checkLatest"?: bool
10213
10214				// Path to Kubectl
10215				"specifyLocation"?: string
10216
10217				// Working directory
10218				"workingDirectory"?: string
10219
10220				// Output format
10221				"outputFormat"?: "json" | "yaml"
10222
10223				// Output variable name
10224				"kubectlOutput"?: string
10225			})
10226			...
10227		},
10228		{
10229			// Azure IoT Edge
10230			//
10231			// Build and deploy an Azure IoT Edge image
10232			"task"!: null | bool | number | =~"^AzureIoTEdge@2$" | [...] | {...}
10233
10234			// Azure IoT Edge inputs
10235			"inputs"?: null |
10236			bool |
10237			number |
10238			string |
10239			[...] |
10240			close({
10241				// Action
10242				"action"?: "Build module images" |
10243					"Push module images" |
10244					"Generate deployment manifest" |
10245					"Deploy to IoT Edge devices"
10246
10247				// Deployment file
10248				"deploymentFilePath"?: string
10249
10250				// Azure subscription contains IoT Hub
10251				"azureSubscription"?: string
10252
10253				// IoT Hub name
10254				"iothubname"?: string
10255
10256				// IoT Edge deployment ID
10257				"deploymentid"?: string
10258
10259				// IoT Edge deployment priority
10260				"priority"?: string
10261
10262				// Choose single/multiple device
10263				"deviceOption"?: "Single Device" | "Multiple Devices"
10264
10265				// IoT Edge device ID
10266				"deviceId"?: string
10267
10268				// IoT Edge device target condition
10269				"targetcondition"?: string
10270
10271				// Container registry type
10272				"containerregistrytype"?: "Azure Container Registry" | "Generic Container Registry"
10273
10274				// Docker Registry Connection
10275				"dockerRegistryConnection"?: string
10276
10277				// Azure subscription
10278				"azureSubscriptionEndpoint"?: string
10279
10280				// Azure Container Registry
10281				"azureContainerRegistry"?: string
10282
10283				// .template.json file
10284				"templateFilePath"?: string
10285
10286				// Default platform
10287				"defaultPlatform"?: "amd64" | "windows-amd64" | "arm32v7" | "arm64v8"
10288
10289				// Add registry credential to deployment manifest
10290				"fillRegistryCredential"?: "true" | "false"
10291
10292				// Output path
10293				"deploymentManifestOutputPath"?: string
10294
10295				// Validate the schema of generated deployment manifest
10296				"validateGeneratedDeploymentManifest"?: "true" | "false"
10297
10298				// Bypass module(s)
10299				"bypassModules"?: string
10300			})
10301			...
10302		},
10303		{
10304			// Service Fabric Compose deploy
10305			//
10306			// Deploy a Docker Compose application to an Azure Service Fabric cluster
10307			"task"!: null | bool | number | =~"^ServiceFabricComposeDeploy@0$" | [...] | {...}
10308
10309			// Service Fabric Compose deploy inputs
10310			"inputs"!: null |
10311			bool |
10312			number |
10313			string |
10314			[...] |
10315			close({
10316				// Cluster Service Connection
10317				"clusterConnection"!: string
10318
10319				// Compose File Path
10320				"composeFilePath"?: string
10321
10322				// Application Name
10323				"applicationName"?: string
10324
10325				// Registry Credentials Source
10326				"registryCredentials"?: "AzureResourceManagerEndpoint" |
10327					"ContainerRegistryEndpoint" |
10328					"UsernamePassword" |
10329					"None"
10330
10331				// Docker Registry Service Connection
10332				"dockerRegistryConnection"?: string
10333
10334				// Azure subscription
10335				"azureSubscription"?: string
10336
10337				// Registry User Name
10338				"registryUserName"?: string
10339
10340				// Registry Password
10341				"registryPassword"?: string
10342
10343				// Password Encrypted
10344				"passwordEncrypted"?: bool
10345
10346				// Upgrade
10347				"upgrade"?: bool
10348
10349				// Deploy Timeout (s)
10350				"deployTimeoutSec"?: string
10351
10352				// Remove Timeout (s)
10353				"removeTimeoutSec"?: string
10354
10355				// Get Status Timeout (s)
10356				"getStatusTimeoutSec"?: string
10357			})
10358			...
10359		},
10360		{
10361			// Android Signing
10362			//
10363			// Sign and align Android APK files
10364			"task"!: null | bool | number | =~"^AndroidSigning@1$" | [...] | {...}
10365
10366			// Android Signing inputs
10367			"inputs"!: null |
10368			bool |
10369			number |
10370			string |
10371			[...] |
10372			close({
10373				// APK Files
10374				"files"!: string
10375
10376				// Sign the APK
10377				"jarsign"?: bool
10378
10379				// Keystore File
10380				"keystoreFile"?: string
10381
10382				// Keystore Password
10383				"keystorePass"?: string
10384
10385				// Alias
10386				"keystoreAlias"?: string
10387
10388				// Key Password
10389				"keyPass"?: string
10390
10391				// Jarsigner Arguments
10392				"jarsignerArguments"?: string
10393
10394				// Zipalign
10395				"zipalign"?: bool
10396
10397				// Zipalign Location
10398				"zipalignLocation"?: string
10399			})
10400			...
10401		},
10402		{
10403			// Android signing
10404			//
10405			// Sign and align Android APK files
10406			"task"!: null | bool | number | =~"^AndroidSigning@2$" | [...] | {...}
10407
10408			// Android signing inputs
10409			"inputs"?: null |
10410			bool |
10411			number |
10412			string |
10413			[...] |
10414			close({
10415				// APK files
10416				"apkFiles"?: string
10417
10418				// Sign the APK
10419				"jarsign"?: bool
10420
10421				// Keystore file
10422				"jarsignerKeystoreFile"?: string
10423
10424				// Keystore password
10425				"jarsignerKeystorePassword"?: string
10426
10427				// Alias
10428				"jarsignerKeystoreAlias"?: string
10429
10430				// Key password
10431				"jarsignerKeyPassword"?: string
10432
10433				// Jarsigner arguments
10434				"jarsignerArguments"?: string
10435
10436				// Zipalign
10437				"zipalign"?: bool
10438
10439				// Zipalign location
10440				"zipalignFile"?: string
10441			})
10442			...
10443		},
10444		{
10445			// Android signing
10446			//
10447			// Sign and align Android APK files
10448			"task"!: null | bool | number | =~"^AndroidSigning@3$" | [...] | {...}
10449
10450			// Android signing inputs
10451			"inputs"?: null |
10452			bool |
10453			number |
10454			string |
10455			[...] |
10456			close({
10457				// APK files
10458				"apkFiles"?: string
10459
10460				// Sign the APK
10461				"apksign"?: bool
10462
10463				// Keystore file
10464				"apksignerKeystoreFile"?: string
10465
10466				// Keystore password
10467				"apksignerKeystorePassword"?: string
10468
10469				// Alias
10470				"apksignerKeystoreAlias"?: string
10471
10472				// Key password
10473				"apksignerKeyPassword"?: string
10474
10475				// apksigner version
10476				"apksignerVersion"?: string
10477
10478				// apksigner arguments
10479				"apksignerArguments"?: string
10480
10481				// apksigner location
10482				"apksignerFile"?: string
10483
10484				// Zipalign
10485				"zipalign"?: bool
10486
10487				// Zipalign version
10488				"zipalignVersion"?: string
10489
10490				// Zipalign location
10491				"zipalignFile"?: string
10492			})
10493			...
10494		},
10495		{
10496			// Download pipeline artifact
10497			//
10498			// Downloads an artifact associated with a pipeline
10499			"task"!: null | bool | number | =~"^DownloadPipelineArtifact@0$" | [...] | {...}
10500
10501			// Download pipeline artifact inputs
10502			"inputs"!: null |
10503			bool |
10504			number |
10505			string |
10506			[...] |
10507			close({
10508				// The specific pipeline to download from
10509				"pipelineId"?: string
10510
10511				// The name of artifact to download.
10512				"artifactName"?: string
10513
10514				// Path to download to
10515				"targetPath"!: string
10516			})
10517			...
10518		},
10519		{
10520			// Download Pipeline Artifacts
10521			//
10522			// Download build and pipeline artifacts
10523			"task"!: null | bool | number | =~"^DownloadPipelineArtifact@2$" | [...] | {...}
10524
10525			// Download Pipeline Artifacts inputs
10526			"inputs"?: null |
10527			bool |
10528			number |
10529			string |
10530			[...] |
10531			close({
10532				// Download artifacts produced by
10533				"buildType"?: "current" | "specific"
10534
10535				// Project
10536				"project"?: string
10537
10538				// Build pipeline
10539				"definition"?: string
10540
10541				// When appropriate, download artifacts from the triggering build.
10542				"specificBuildWithTriggering"?: bool
10543
10544				// Build version to download
10545				"buildVersionToDownload"?: "latest" | "latestFromBranch" | "specific"
10546
10547				// Branch name
10548				"branchName"?: string
10549
10550				// Build
10551				"pipelineId"?: string
10552
10553				// Build Tags
10554				"tags"?: string
10555
10556				// Download artifacts from partially succeeded builds.
10557				"allowPartiallySucceededBuilds"?: bool
10558
10559				// Download artifacts from failed builds.
10560				"allowFailedBuilds"?: bool
10561
10562				// Artifact name
10563				"artifactName"?: string
10564
10565				// Matching patterns
10566				"itemPattern"?: string
10567
10568				// Destination directory
10569				"targetPath"?: string
10570			})
10571			...
10572		},
10573		{
10574			// Download pipeline artifact
10575			//
10576			// Download a named artifact from a pipeline to a local path
10577			"task"!: null | bool | number | =~"^DownloadPipelineArtifact@1$" | [...] | {...}
10578
10579			// Download pipeline artifact inputs
10580			"inputs"?: null |
10581			bool |
10582			number |
10583			string |
10584			[...] |
10585			close({
10586				// Download artifacts produced by
10587				"buildType"?: "current" | "specific"
10588
10589				// Project
10590				"project"?: string
10591
10592				// Build pipeline
10593				"pipeline"?: string
10594
10595				// When appropriate, download artifacts from the triggering build.
10596				"specificBuildWithTriggering"?: bool
10597
10598				// Build version to download
10599				"buildVersionToDownload"?: "latest" | "latestFromBranch" | "specific"
10600
10601				// Branch name
10602				"branchName"?: string
10603
10604				// Build
10605				"pipelineId"?: string
10606
10607				// Build Tags
10608				"tags"?: string
10609
10610				// Artifact name
10611				"artifactName"?: string
10612
10613				// Matching pattern
10614				"itemPattern"?: string
10615
10616				// Destination directory
10617				"targetPath"?: string
10618			})
10619			...
10620		},
10621		{
10622			// Use Python version
10623			//
10624			// Use the specified version of Python from the tool cache, optionally adding it to the PATH
10625			"task"!: null | bool | number | =~"^UsePythonVersion@0$" | [...] | {...}
10626
10627			// Use Python version inputs
10628			"inputs"?: null |
10629			bool |
10630			number |
10631			string |
10632			[...] |
10633			close({
10634				// Version spec
10635				"versionSpec"?: string
10636
10637				// Disable downloading releases from the GitHub registry
10638				"disableDownloadFromRegistry"?: bool
10639
10640				// Allow downloading unstable releases
10641				"allowUnstable"?: bool
10642
10643				// GitHub token for GitHub Actions python registry
10644				"githubToken"?: string
10645
10646				// Add to PATH
10647				"addToPath"?: bool
10648
10649				// Architecture
10650				"architecture"?: "x86" | "x64"
10651			})
10652			...
10653		},
10654		{
10655			// Service Fabric PowerShell
10656			//
10657			// Run a PowerShell script in the context of an Azure Service Fabric cluster connection
10658			"task"!: null | bool | number | =~"^ServiceFabricPowerShell@1$" | [...] | {...}
10659
10660			// Service Fabric PowerShell inputs
10661			"inputs"!: null |
10662			bool |
10663			number |
10664			string |
10665			[...] |
10666			close({
10667				// Cluster Service Connection
10668				"clusterConnection"!: string
10669
10670				// Script Type
10671				"ScriptType"?: "FilePath" | "InlineScript"
10672
10673				// Script Path
10674				"ScriptPath"?: string
10675
10676				// Inline Script
10677				"Inline"?: string
10678
10679				// Script Arguments
10680				"ScriptArguments"?: string
10681			})
10682			...
10683		},
10684		{
10685			// Visual Studio Test
10686			//
10687			// Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using
10688			// the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual
10689			// Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript
10690			// tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be
10691			// distributed on multiple agents using this task (version 2 and later).
10692			"task"!: null | bool | number | =~"^VSTest@2$" | [...] | {...}
10693
10694			// Visual Studio Test inputs
10695			"inputs"?: null |
10696			bool |
10697			number |
10698			string |
10699			[...] |
10700			close({
10701				// Select tests using
10702				"testSelector"?: "testAssemblies" | "testPlan" | "testRun"
10703
10704				// Test files
10705				"testAssemblyVer2"?: string
10706
10707				// Test plan
10708				"testPlan"?: string
10709
10710				// Test suite
10711				"testSuite"?: string
10712
10713				// Test configuration
10714				"testConfiguration"?: string
10715
10716				// Test Run
10717				"tcmTestRun"?: string
10718
10719				// Search folder
10720				"searchFolder"?: string
10721
10722				// Test results folder
10723				"resultsFolder"?: string
10724
10725				// Test filter criteria
10726				"testFiltercriteria"?: string
10727
10728				// Run only impacted tests
10729				"runOnlyImpactedTests"?: bool
10730
10731				// Number of builds after which all tests should be run
10732				"runAllTestsAfterXBuilds"?: string
10733
10734				// Test mix contains UI tests
10735				"uiTests"?: bool
10736
10737				// Select test platform using
10738				"vstestLocationMethod"?: "version" | "location"
10739
10740				// Test platform version
10741				"vsTestVersion"?: "latest" | "17.0" | "16.0" | "15.0" | "14.0" | "toolsInstaller"
10742
10743				// Path to vstest.console.exe
10744				"vstestLocation"?: string
10745
10746				// Settings file
10747				"runSettingsFile"?: string
10748
10749				// Override test run parameters
10750				"overrideTestrunParameters"?: string
10751
10752				// Path to custom test adapters
10753				"pathtoCustomTestAdapters"?: string
10754
10755				// Run tests in parallel on multi-core machines
10756				"runInParallel"?: bool
10757
10758				// Run tests in isolation
10759				"runTestsInIsolation"?: bool
10760
10761				// Code coverage enabled
10762				"codeCoverageEnabled"?: bool
10763
10764				// Other console options
10765				"otherConsoleOptions"?: string
10766
10767				// Batch tests
10768				"distributionBatchType"?: "basedOnTestCases" | "basedOnExecutionTime" | "basedOnAssembly"
10769
10770				// Batch options
10771				"batchingBasedOnAgentsOption"?: "autoBatchSize" | "customBatchSize"
10772
10773				// Number of tests per batch
10774				"customBatchSizeValue"?: string
10775
10776				// Batch options
10777				"batchingBasedOnExecutionTimeOption"?: "autoBatchSize" | "customTimeBatchSize"
10778
10779				// Running time (sec) per batch
10780				"customRunTimePerBatchValue"?: string
10781
10782				// Replicate tests instead of distributing when multiple agents are used in the job
10783				"dontDistribute"?: bool
10784
10785				// Test run title
10786				"testRunTitle"?: string
10787
10788				// Build platform
10789				"platform"?: string
10790
10791				// Build configuration
10792				"configuration"?: string
10793
10794				// Upload test attachments
10795				"publishRunAttachments"?: bool
10796
10797				// Fail the task if a minimum number of tests are not run.
10798				"failOnMinTestsNotRun"?: bool
10799
10800				// Minimum # of tests
10801				"minimumExpectedTests"?: string
10802
10803				// Collect advanced diagnostics in case of catastrophic failures
10804				"diagnosticsEnabled"?: bool
10805
10806				// Collect process dump and attach to test run report
10807				"collectDumpOn"?: "onAbortOnly" | "always" | "never"
10808
10809				// Rerun failed tests
10810				"rerunFailedTests"?: bool
10811
10812				// Do not rerun if test failures exceed specified threshold
10813				"rerunType"?: "basedOnTestFailurePercentage" | "basedOnTestFailureCount"
10814
10815				// % failure
10816				"rerunFailedThreshold"?: string
10817
10818				// # of failed tests
10819				"rerunFailedTestCasesMaxLimit"?: string
10820
10821				// Maximum # of attempts
10822				"rerunMaxAttempts"?: string
10823			})
10824			...
10825		},
10826		{
10827			// Visual Studio Test
10828			//
10829			// Run unit and functional tests (Selenium, Appium, Coded UI test, etc.) using
10830			// the Visual Studio Test (VsTest) runner. Test frameworks that have a Visual
10831			// Studio test adapter such as MsTest, xUnit, NUnit, Chutzpah (for JavaScript
10832			// tests using QUnit, Mocha and Jasmine), etc. can be run. Tests can be
10833			// distributed on multiple agents using this task (version 2 and later).
10834			"task"!: null | bool | number | =~"^VSTest@3$" | [...] | {...}
10835
10836			// Visual Studio Test inputs
10837			"inputs"?: null |
10838			bool |
10839			number |
10840			string |
10841			[...] |
10842			close({
10843				// Azure Resource Manager connection
10844				"azureSubscription"?: string
10845
10846				// Select tests using
10847				"testSelector"?: "testAssemblies" | "testPlan" | "testRun"
10848
10849				// Test files
10850				"testAssemblyVer2"?: string
10851
10852				// Test plan
10853				"testPlan"?: string
10854
10855				// Test suite
10856				"testSuite"?: string
10857
10858				// Test configuration
10859				"testConfiguration"?: string
10860
10861				// Test Run
10862				"tcmTestRun"?: string
10863
10864				// Search folder
10865				"searchFolder"?: string
10866
10867				// Test results folder
10868				"resultsFolder"?: string
10869
10870				// Test filter criteria
10871				"testFiltercriteria"?: string
10872
10873				// Run only impacted tests
10874				"runOnlyImpactedTests"?: bool
10875
10876				// Number of builds after which all tests should be run
10877				"runAllTestsAfterXBuilds"?: string
10878
10879				// Test mix contains UI tests
10880				"uiTests"?: bool
10881
10882				// Select test platform using
10883				"vstestLocationMethod"?: "version" | "location"
10884
10885				// Test platform version
10886				"vsTestVersion"?: "latest" | "17.0" | "16.0" | "15.0" | "14.0" | "toolsInstaller"
10887
10888				// Path to vstest.console.exe
10889				"vstestLocation"?: string
10890
10891				// Settings file
10892				"runSettingsFile"?: string
10893
10894				// Override test run parameters
10895				"overrideTestrunParameters"?: string
10896
10897				// Path to custom test adapters
10898				"pathtoCustomTestAdapters"?: string
10899
10900				// Run tests in parallel on multi-core machines
10901				"runInParallel"?: bool
10902
10903				// Run tests in isolation
10904				"runTestsInIsolation"?: bool
10905
10906				// Code coverage enabled
10907				"codeCoverageEnabled"?: bool
10908
10909				// Other console options
10910				"otherConsoleOptions"?: string
10911
10912				// Batch tests
10913				"distributionBatchType"?: "basedOnTestCases" | "basedOnExecutionTime" | "basedOnAssembly"
10914
10915				// Batch options
10916				"batchingBasedOnAgentsOption"?: "autoBatchSize" | "customBatchSize"
10917
10918				// Number of tests per batch
10919				"customBatchSizeValue"?: string
10920
10921				// Batch options
10922				"batchingBasedOnExecutionTimeOption"?: "autoBatchSize" | "customTimeBatchSize"
10923
10924				// Running time (sec) per batch
10925				"customRunTimePerBatchValue"?: string
10926
10927				// Replicate tests instead of distributing when multiple agents are used in the job
10928				"dontDistribute"?: bool
10929
10930				// Test run title
10931				"testRunTitle"?: string
10932
10933				// Build platform
10934				"platform"?: string
10935
10936				// Build configuration
10937				"configuration"?: string
10938
10939				// Custom Logger Configuration
10940				"customLoggerConfig"?: string
10941
10942				// Upload test attachments
10943				"publishRunAttachments"?: bool
10944
10945				// Disable publishing test results
10946				"donotPublishTestResults"?: bool
10947
10948				// Fail the task if a minimum number of tests are not run.
10949				"failOnMinTestsNotRun"?: bool
10950
10951				// Minimum # of tests
10952				"minimumExpectedTests"?: string
10953
10954				// Collect advanced diagnostics in case of catastrophic failures
10955				"diagnosticsEnabled"?: bool
10956
10957				// Collect process dump and attach to test run report
10958				"collectDumpOn"?: "onAbortOnly" | "always" | "never"
10959
10960				// Rerun failed tests
10961				"rerunFailedTests"?: bool
10962
10963				// Do not rerun if test failures exceed specified threshold
10964				"rerunType"?: "basedOnTestFailurePercentage" | "basedOnTestFailureCount"
10965
10966				// % failure
10967				"rerunFailedThreshold"?: string
10968
10969				// # of failed tests
10970				"rerunFailedTestCasesMaxLimit"?: string
10971
10972				// Maximum # of attempts
10973				"rerunMaxAttempts"?: string
10974			})
10975			...
10976		},
10977		{
10978			// Visual Studio Test
10979			//
10980			// Run tests with Visual Studio test runner
10981			"task"!: null | bool | number | =~"^VSTest@1$" | [...] | {...}
10982
10983			// Visual Studio Test inputs
10984			"inputs"?: null |
10985			bool |
10986			number |
10987			string |
10988			[...] |
10989			close({
10990				// Test Assembly
10991				"testAssembly"?: string
10992
10993				// Test Filter criteria
10994				"testFiltercriteria"?: string
10995
10996				// Run Settings File
10997				"runSettingsFile"?: string
10998
10999				// Override TestRun Parameters
11000				"overrideTestrunParameters"?: string
11001
11002				// Code Coverage Enabled
11003				"codeCoverageEnabled"?: bool
11004
11005				// Run In Parallel
11006				"runInParallel"?: bool
11007
11008				// VSTest
11009				"vstestLocationMethod"?: "version" | "location"
11010
11011				// VSTest version
11012				"vsTestVersion"?: "latest" | "14.0" | "12.0"
11013
11014				// Path to vstest.console.exe
11015				"vstestLocation"?: string
11016
11017				// Path to Custom Test Adapters
11018				"pathtoCustomTestAdapters"?: string
11019
11020				// Other console options
11021				"otherConsoleOptions"?: string
11022
11023				// Test Run Title
11024				"testRunTitle"?: string
11025
11026				// Platform
11027				"platform"?: string
11028
11029				// Configuration
11030				"configuration"?: string
11031
11032				// Upload Test Attachments
11033				"publishRunAttachments"?: bool
11034			})
11035			...
11036		},
11037		{
11038			// Manual validation
11039			//
11040			// Pause a pipeline run to wait for manual interaction. Works only with YAML pipelines.
11041			"task"!: null | bool | number | =~"^ManualValidation@1$" | [...] | {...}
11042
11043			// Manual validation inputs
11044			"inputs"!: null |
11045			bool |
11046			number |
11047			string |
11048			[...] |
11049			close({
11050				// Notify users
11051				"notifyUsers"!: string
11052
11053				// Approvers
11054				"approvers"?: string
11055
11056				// Allow approvers to approve their own run
11057				"allowApproversToApproveTheirOwnRuns"?: bool
11058
11059				// Instructions
11060				"instructions"?: string
11061
11062				// On timeout
11063				"onTimeout"?: "reject" | "resume"
11064			})
11065			...
11066		},
11067		{
11068			// Manual validation
11069			//
11070			// Pause a pipeline run to wait for manual interaction. Works only with YAML pipelines.
11071			"task"!: null | bool | number | =~"^ManualValidation@0$" | [...] | {...}
11072
11073			// Manual validation inputs
11074			"inputs"!: null |
11075			bool |
11076			number |
11077			string |
11078			[...] |
11079			close({
11080				// Notify users
11081				"notifyUsers"!: string
11082
11083				// Approvers
11084				"approvers"?: string
11085
11086				// Allow approvers to approve their own run
11087				"allowApproversToApproveTheirOwnRuns"?: bool
11088
11089				// Instructions
11090				"instructions"?: string
11091
11092				// On timeout
11093				"onTimeout"?: "reject" | "resume"
11094			})
11095			...
11096		},
11097		{
11098			// Ant
11099			//
11100			// Build with Apache Ant
11101			"task"!: null | bool | number | =~"^Ant@1$" | [...] | {...}
11102
11103			// Ant inputs
11104			"inputs"?: null |
11105			bool |
11106			number |
11107			string |
11108			[...] |
11109			close({
11110				// Ant build file
11111				"buildFile"?: string
11112
11113				// Options
11114				"options"?: string
11115
11116				// Target(s)
11117				"targets"?: string
11118
11119				// Publish to Azure Pipelines
11120				"publishJUnitResults"?: bool
11121
11122				// Test results files
11123				"testResultsFiles"?: string
11124
11125				// Test run title
11126				"testRunTitle"?: string
11127
11128				// Code coverage tool
11129				"codeCoverageToolOptions"?: "None" | "Cobertura" | "JaCoCo"
11130
11131				// Class files directories
11132				"codeCoverageClassFilesDirectories"?: string
11133
11134				// Class inclusion/exclusion filters
11135				"codeCoverageClassFilter"?: string
11136
11137				// Source files directories
11138				"codeCoverageSourceDirectories"?: string
11139
11140				// Fail when code coverage results are missing
11141				"codeCoverageFailIfEmpty"?: bool
11142
11143				// Set ANT_HOME path
11144				"antHomeDirectory"?: string
11145
11146				// Set JAVA_HOME by
11147				"javaHomeOption"?: "JDKVersion" | "Path"
11148
11149				// JDK version
11150				"jdkVersionOption"?: "default" | "1.11" | "1.10" | "1.9" | "1.8" | "1.7" | "1.6"
11151
11152				// JDK path
11153				"jdkUserInputDirectory"?: string
11154
11155				// JDK architecture
11156				"jdkArchitectureOption"?: "x86" | "x64"
11157			})
11158			...
11159		},
11160		{
11161			// Visual Studio test agent deployment
11162			//
11163			// Deprecated: Instead, use the 'Visual Studio Test' task to run unit and functional tests
11164			"task"!: null | bool | number | =~"^DeployVisualStudioTestAgent@2$" | [...] | {...}
11165
11166			// Visual Studio test agent deployment inputs
11167			"inputs"!: null |
11168			bool |
11169			number |
11170			string |
11171			[...] |
11172			close({
11173				// Machines
11174				"testMachines"!: string
11175
11176				// Admin login
11177				"adminUserName"!: string
11178
11179				// Admin password
11180				"adminPassword"!: string
11181
11182				// Protocol
11183				"winRmProtocol"?: "Http" | "Https"
11184
11185				// Test Certificate
11186				"testCertificate"?: bool
11187
11188				// Username
11189				"machineUserName"!: string
11190
11191				// Password
11192				"machinePassword"!: string
11193
11194				// Run UI tests
11195				"runAsProcess"?: bool
11196
11197				// Enable data collection only
11198				"isDataCollectionOnly"?: bool
11199
11200				// Test agent version
11201				"testPlatform"?: "15.0" | "14.0"
11202
11203				// Test agent location
11204				"agentLocation"?: string
11205
11206				// Update test agent
11207				"updateTestAgent"?: bool
11208			})
11209			...
11210		},
11211		{
11212			// Visual Studio Test Agent Deployment
11213			//
11214			// Deploy and configure Test Agent to run tests on a set of machines
11215			"task"!: null | bool | number | =~"^DeployVisualStudioTestAgent@1$" | [...] | {...}
11216
11217			// Visual Studio Test Agent Deployment inputs
11218			"inputs"!: null |
11219			bool |
11220			number |
11221			string |
11222			[...] |
11223			close({
11224				// Machines
11225				"testMachineGroup"!: string
11226
11227				// Admin Login
11228				"adminUserName"?: string
11229
11230				// Admin Password
11231				"adminPassword"?: string
11232
11233				// Protocol
11234				"winRmProtocol"?: "Http" | "Https"
11235
11236				// Test Certificate
11237				"testCertificate"?: bool
11238
11239				// Select Machines By
11240				"resourceFilteringMethod"?: "machineNames" | "tags"
11241
11242				// Filter Criteria
11243				"testMachines"?: string
11244
11245				// Username
11246				"machineUserName"!: string
11247
11248				// Password
11249				"machinePassword"!: string
11250
11251				// Interactive Process
11252				"runAsProcess"?: bool
11253
11254				// Test Agent Location
11255				"agentLocation"?: string
11256
11257				// Update Test Agent
11258				"updateTestAgent"?: bool
11259
11260				// Enable Data Collection Only
11261				"isDataCollectionOnly"?: bool
11262			})
11263			...
11264		},
11265		{
11266			// Conda environment
11267			//
11268			// Create and activate a Conda environment
11269			"task"!: null | bool | number | =~"^CondaEnvironment@0$" | [...] | {...}
11270
11271			// Conda environment inputs
11272			"inputs"!: null |
11273			bool |
11274			number |
11275			string |
11276			[...] |
11277			close({
11278				// Environment name
11279				"environmentName"!: string
11280
11281				// Package specs
11282				"packageSpecs"?: string
11283
11284				// Update to the latest Conda
11285				"updateConda"?: bool
11286
11287				// Environment creation options
11288				"createOptions"?: string
11289
11290				// Clean the environment
11291				"cleanEnvironment"?: bool
11292			})
11293			...
11294		},
11295		{
11296			// Conda environment
11297			//
11298			// This task is deprecated. Use `conda` directly in script to work with Anaconda environments.
11299			"task"!: null | bool | number | =~"^CondaEnvironment@1$" | [...] | {...}
11300
11301			// Conda environment inputs
11302			"inputs"?: null |
11303			bool |
11304			number |
11305			string |
11306			[...] |
11307			close({
11308				// Create a custom environment
11309				"createCustomEnvironment"?: bool
11310
11311				// Environment name
11312				"environmentName"?: string
11313
11314				// Package specs
11315				"packageSpecs"?: string
11316
11317				// Update to the latest Conda
11318				"updateConda"?: bool
11319
11320				// Other options for `conda install`
11321				"installOptions"?: string
11322
11323				// Other options for `conda create`
11324				"createOptions"?: string
11325
11326				// Clean the environment
11327				"cleanEnvironment"?: bool
11328			})
11329			...
11330		},
11331		{
11332			// Batch script
11333			//
11334			// Run a Windows command or batch script and optionally allow it to change the environment
11335			"task"!: null | bool | number | =~"^BatchScript@1$" | [...] | {...}
11336
11337			// Batch script inputs
11338			"inputs"!: null |
11339			bool |
11340			number |
11341			string |
11342			[...] |
11343			close({
11344				// Path
11345				"filename"!: string
11346
11347				// Arguments
11348				"arguments"?: string
11349
11350				// Modify Environment
11351				"modifyEnvironment"?: bool
11352
11353				// Working folder
11354				"workingFolder"?: string
11355
11356				// Fail on Standard Error
11357				"failOnStandardError"?: bool
11358			})
11359			...
11360		},
11361		{
11362			// Download Github Npm Package
11363			//
11364			// Install npm packages from GitHub.
11365			"task"!: null | bool | number | =~"^DownloadGithubNpmPackage@1$" | [...] | {...}
11366
11367			// Download Github Npm Package inputs
11368			"inputs"!: null |
11369			bool |
11370			number |
11371			string |
11372			[...] |
11373			close({
11374				// Package Name
11375				"packageName"!: string
11376
11377				// Package Version
11378				"version"!: string
11379
11380				// Credentials for registry from GitHub
11381				"externalRegistryCredentials"!: string
11382
11383				// Destination directory
11384				"installDirectory"?: string
11385			})
11386			...
11387		},
11388		{
11389			// Visual Studio build
11390			//
11391			// Build with MSBuild and set the Visual Studio version property
11392			"task"!: null | bool | number | =~"^VSBuild@1$" | [...] | {...}
11393
11394			// Visual Studio build inputs
11395			"inputs"?: null |
11396			bool |
11397			number |
11398			string |
11399			[...] |
11400			close({
11401				// Solution
11402				"solution"?: string
11403
11404				// Visual Studio Version
11405				"vsVersion"?: "latest" | "17.0" | "16.0" | "15.0" | "14.0" | "12.0" | "11.0"
11406
11407				// MSBuild Arguments
11408				"msbuildArgs"?: string
11409
11410				// Platform
11411				"platform"?: string
11412
11413				// Configuration
11414				"configuration"?: string
11415
11416				// Clean
11417				"clean"?: bool
11418
11419				// Build in Parallel
11420				"maximumCpuCount"?: bool
11421
11422				// Restore NuGet Packages
11423				"restoreNugetPackages"?: bool
11424
11425				// MSBuild Architecture
11426				"msbuildArchitecture"?: "x86" | "x64"
11427
11428				// Record Project Details
11429				"logProjectEvents"?: bool
11430
11431				// Create Log File
11432				"createLogFile"?: bool
11433
11434				// Log File Verbosity
11435				"logFileVerbosity"?: "quiet" | "minimal" | "normal" | "detailed" | "diagnostic"
11436
11437				// Enable Default Logger
11438				"enableDefaultLogger"?: bool
11439
11440				// Custom Version
11441				"customVersion"?: string
11442			})
11443			...
11444		},
11445		{
11446			// Azure Key Vault
11447			//
11448			// Download Azure Key Vault secrets
11449			"task"!: null | bool | number | =~"^AzureKeyVault@1$" | [...] | {...}
11450
11451			// Azure Key Vault inputs
11452			"inputs"!: null |
11453			bool |
11454			number |
11455			string |
11456			[...] |
11457			close({
11458				// Azure subscription
11459				"azureSubscription"!: string
11460
11461				// Key vault
11462				"KeyVaultName"!: string
11463
11464				// Secrets filter
11465				"SecretsFilter"?: string
11466
11467				// Make secrets available to whole job
11468				"RunAsPreJob"?: bool
11469			})
11470			...
11471		},
11472		{
11473			// Azure Key Vault
11474			//
11475			// Download Azure Key Vault secrets
11476			"task"!: null | bool | number | =~"^AzureKeyVault@2$" | [...] | {...}
11477
11478			// Azure Key Vault inputs
11479			"inputs"!: null |
11480			bool |
11481			number |
11482			string |
11483			[...] |
11484			close({
11485				// Azure subscription
11486				"azureSubscription"!: string
11487
11488				// Key vault
11489				"KeyVaultName"!: string
11490
11491				// Secrets filter
11492				"SecretsFilter"?: string
11493
11494				// Make secrets available to whole job
11495				"RunAsPreJob"?: bool
11496			})
11497			...
11498		},
11499		{
11500			// Use .NET Core
11501			//
11502			// Acquires a specific version of the .NET Core SDK from the internet or the
11503			// local cache and adds it to the PATH. Use this task to change the version of
11504			// .NET Core used in subsequent tasks. Additionally provides proxy support.
11505			"task"!: null | bool | number | =~"^UseDotNet@2$" | [...] | {...}
11506
11507			// Use .NET Core inputs
11508			"inputs"?: null |
11509			bool |
11510			number |
11511			string |
11512			[...] |
11513			close({
11514				// Package to install
11515				"packageType"?: "runtime" | "sdk"
11516
11517				// Use global json
11518				"useGlobalJson"?: bool
11519
11520				// Working Directory
11521				"workingDirectory"?: string
11522
11523				// Version
11524				"version"?: string
11525
11526				// Compatible Visual Studio version
11527				"vsVersion"?: string
11528
11529				// Include Preview Versions
11530				"includePreviewVersions"?: bool
11531
11532				// Path To Install .Net Core
11533				"installationPath"?: string
11534
11535				// Perform Multi Level Lookup
11536				"performMultiLevelLookup"?: bool
11537
11538				// Set timeout for package download request
11539				"requestTimeout"?: int
11540			})
11541			...
11542		},
11543		{
11544			// .NET Core SDK/runtime installer
11545			//
11546			// Acquire a specific version of the .NET Core SDK from the internet or local
11547			// cache and add it to the PATH
11548			"task"!: null | bool | number | =~"^DotNetCoreInstaller@0$" | [...] | {...}
11549
11550			// .NET Core SDK/runtime installer inputs
11551			"inputs"?: null |
11552			bool |
11553			number |
11554			string |
11555			[...] |
11556			close({
11557				// Package to install
11558				"packageType"?: "runtime" | "sdk"
11559
11560				// Version
11561				"version"?: string
11562			})
11563			...
11564		},
11565		{
11566			// .NET Core sdk/runtime installer
11567			//
11568			// Acquire a specific version of the .NET Core SDK from the internet or local
11569			// cache and add it to the PATH
11570			"task"!: null | bool | number | =~"^DotNetCoreInstaller@1$" | [...] | {...}
11571
11572			// .NET Core sdk/runtime installer inputs
11573			"inputs"?: null |
11574			bool |
11575			number |
11576			string |
11577			[...] |
11578			close({
11579				// Package to install
11580				"packageType"?: "runtime" | "sdk"
11581
11582				// Version
11583				"version"?: string
11584
11585				// Include Preview Versions
11586				"includePreviewVersions"?: bool
11587
11588				// Path To Install .Net Core
11589				"installationPath"?: string
11590
11591				// Perform Multi Level Lookup
11592				"performMultiLevelLookup"?: bool
11593			})
11594			...
11595		},
11596		{
11597			// Use .NET Core
11598			//
11599			// Acquires a specific version of the .NET Core SDK from the internet or the
11600			// local cache and adds it to the PATH. Use this task to change the version of
11601			// .NET Core used in subsequent tasks. Additionally provides proxy support.
11602			"task"!: null | bool | number | =~"^UseDotNet@2$" | [...] | {...}
11603
11604			// Use .NET Core inputs
11605			"inputs"?: null |
11606			bool |
11607			number |
11608			string |
11609			[...] |
11610			close({
11611				// Package to install
11612				"packageType"?: "runtime" | "sdk"
11613
11614				// Use global json
11615				"useGlobalJson"?: bool
11616
11617				// Working Directory
11618				"workingDirectory"?: string
11619
11620				// Version
11621				"version"?: string
11622
11623				// Compatible Visual Studio version
11624				"vsVersion"?: string
11625
11626				// Include Preview Versions
11627				"includePreviewVersions"?: bool
11628
11629				// Path To Install .Net Core
11630				"installationPath"?: string
11631
11632				// Perform Multi Level Lookup
11633				"performMultiLevelLookup"?: bool
11634
11635				// Set timeout for package download request
11636				"requestTimeout"?: int
11637			})
11638			...
11639		},
11640		{
11641			// Azure App Configuration Import
11642			//
11643			// Import settings from configuration files into Azure App Configuration through
11644			// build or deployment pipelines
11645			"task"!: null | bool | number | =~"^AzureAppConfigurationImport@10$" | [...] | {...}
11646
11647			// Azure App Configuration Import inputs
11648			"inputs"!: null |
11649			bool |
11650			number |
11651			string |
11652			[...] |
11653			close({
11654				// Azure subscription
11655				"azureSubscription"!: string
11656
11657				// App Configuration Endpoint
11658				"AppConfigurationEndpoint"!: string
11659
11660				// Configuration File Path
11661				"ConfigurationFile"!: string
11662
11663				// Use the file path extension to determine the file format
11664				"UseFilePathExtension"?: bool
11665
11666				// File Format
11667				"FileFormat"?: "json" | "yaml" | "properties"
11668
11669				// File Content Profile
11670				"FileContentProfile"?: "appconfig/default" | "appconfig/kvset"
11671
11672				// Separator
11673				"Separator"?: "." | "/" | ":" | ";" | "," | "-" | "_" | "__"
11674
11675				// Depth
11676				"Depth"?: string
11677
11678				// Prefix
11679				"Prefix"?: string
11680
11681				// Label
11682				"Label"?: string
11683
11684				// Content Type
11685				"ContentType"?: string
11686
11687				// Tags
11688				"Tags"?: string
11689
11690				// Exclude feature flags
11691				"ExcludeFeatureFlags"?: bool
11692
11693				// Delete key-values that are not included in the configuration file
11694				"Strict"?: bool
11695
11696				// Dry run
11697				"DryRun"?: bool
11698
11699				// Import Mode
11700				"ImportMode"?: "All" | "Ignore-Match"
11701			})
11702			...
11703		},
11704		{
11705			// Azure App Service manage
11706			//
11707			// Start, stop, restart, slot swap, slot delete, install site extensions or
11708			// enable continuous monitoring for an Azure App Service
11709			"task"!: null | bool | number | =~"^AzureAppServiceManage@0$" | [...] | {...}
11710
11711			// Azure App Service manage inputs
11712			"inputs"!: null |
11713			bool |
11714			number |
11715			string |
11716			[...] |
11717			close({
11718				// Azure subscription
11719				"azureSubscription"!: string
11720
11721				// Action
11722				"Action"?: "Swap Slots" |
11723					"Start Azure App Service" |
11724					"Stop Azure App Service" |
11725					"Restart Azure App Service" |
11726					"Start Swap With Preview" |
11727					"Complete Swap" |
11728					"Cancel Swap" |
11729					"Delete Slot" |
11730					"Install Extensions" |
11731					"Enable Continuous Monitoring" |
11732					"Start all continuous webjobs" |
11733					"Stop all continuous webjobs"
11734
11735				// App Service name
11736				"WebAppName"!: string
11737
11738				// Specify Slot or App Service Environment
11739				"SpecifySlotOrASE"?: bool
11740
11741				// Resource group
11742				"ResourceGroupName"?: string
11743
11744				// Source Slot
11745				"SourceSlot"?: string
11746
11747				// Swap with Production
11748				"SwapWithProduction"?: bool
11749
11750				// Target Slot
11751				"TargetSlot"?: string
11752
11753				// Preserve Vnet
11754				"PreserveVnet"?: bool
11755
11756				// Slot
11757				"Slot"?: string
11758
11759				// Install Extensions
11760				"ExtensionsList"?: string
11761
11762				// Output variable
11763				"OutputVariable"?: string
11764
11765				// Resource Group name for Application Insights
11766				"AppInsightsResourceGroupName"?: string
11767
11768				// Application Insights resource name
11769				"ApplicationInsightsResourceName"?: string
11770
11771				// Application Insights web test name
11772				"ApplicationInsightsWebTestName"?: string
11773			})
11774			...
11775		},
11776		{
11777			// Kubelogin tool installer
11778			//
11779			// Helps to install kubelogin
11780			"task"!: null | bool | number | =~"^KubeloginInstaller@0$" | [...] | {...}
11781
11782			// Kubelogin tool installer inputs
11783			"inputs"?: null |
11784			bool |
11785			number |
11786			string |
11787			[...] |
11788			close({
11789				// kubelogin version
11790				"kubeloginVersion"?: string
11791
11792				// GitHub Connection
11793				"gitHubConnection"?: string
11794			})
11795			...
11796		},
11797		{
11798			// Install Azure Func Core Tools
11799			//
11800			// Install Azure Func Core Tools
11801			"task"!: null | bool | number | =~"^FuncToolsInstaller@0$" | [...] | {...}
11802
11803			// Install Azure Func Core Tools inputs
11804			"inputs"?: null |
11805			bool |
11806			number |
11807			string |
11808			[...] |
11809			close({
11810				// Version
11811				"version"?: string
11812			})
11813			...
11814		},
11815		{
11816			// File transform
11817			//
11818			// Replace tokens with variable values in XML or JSON configuration files
11819			"task"!: null | bool | number | =~"^FileTransform@2$" | [...] | {...}
11820
11821			// File transform inputs
11822			"inputs"?: null |
11823			bool |
11824			number |
11825			string |
11826			[...] |
11827			close({
11828				// Package or folder
11829				"folderPath"?: string
11830
11831				// XML transformation
11832				"enableXmlTransform"?: bool
11833
11834				// XML Transformation rules
11835				"xmlTransformationRules"?: string
11836
11837				// JSON target files
11838				"jsonTargetFiles"?: string
11839
11840				// XML target files
11841				"xmlTargetFiles"?: string
11842
11843				// Error on empty files and invalid substitution.
11844				"errorOnInvalidSubstitution"?: bool
11845			})
11846			...
11847		},
11848		{
11849			// File transform
11850			//
11851			// Replace tokens with variable values in XML or JSON configuration files
11852			"task"!: null | bool | number | =~"^FileTransform@1$" | [...] | {...}
11853
11854			// File transform inputs
11855			"inputs"?: null |
11856			bool |
11857			number |
11858			string |
11859			[...] |
11860			close({
11861				// Package or folder
11862				"folderPath"?: string
11863
11864				// XML transformation
11865				"enableXmlTransform"?: bool
11866
11867				// Transformation rules
11868				"xmlTransformationRules"?: string
11869
11870				// File format
11871				"fileType"?: "xml" | "json"
11872
11873				// Target files
11874				"targetFiles"?: string
11875			})
11876			...
11877		},
11878		{
11879			// Extract files
11880			//
11881			// Extract a variety of archive and compression files such as .7z, .rar, .tar.gz, and .zip
11882			"task"!: null | bool | number | =~"^ExtractFiles@1$" | [...] | {...}
11883
11884			// Extract files inputs
11885			"inputs"!: null |
11886			bool |
11887			number |
11888			string |
11889			[...] |
11890			close({
11891				// Archive file patterns
11892				"archiveFilePatterns"?: string
11893
11894				// Destination folder
11895				"destinationFolder"!: string
11896
11897				// Clean destination folder before extracting
11898				"cleanDestinationFolder"?: bool
11899
11900				// Overwrite existing files
11901				"overwriteExistingFiles"?: bool
11902
11903				// Path to 7z utility
11904				"pathToSevenZipTool"?: string
11905			})
11906			...
11907		},
11908		{
11909			// Xamarin.Android
11910			//
11911			// Build an Android app with Xamarin
11912			"task"!: null | bool | number | =~"^XamarinAndroid@1$" | [...] | {...}
11913
11914			// Xamarin.Android inputs
11915			"inputs"?: null |
11916			bool |
11917			number |
11918			string |
11919			[...] |
11920			close({
11921				// Project
11922				"projectFile"?: string
11923
11924				// Target
11925				"target"?: string
11926
11927				// Output directory
11928				"outputDirectory"?: string
11929
11930				// Configuration
11931				"configuration"?: string
11932
11933				// Create app package
11934				"createAppPackage"?: bool
11935
11936				// Clean
11937				"clean"?: bool
11938
11939				// MSBuild
11940				"msbuildLocationOption"?: "version" | "location"
11941
11942				// MSBuild version
11943				"msbuildVersionOption"?: "latest" | "17.0" | "16.0" | "15.0" | "14.0" | "12.0" | "4.0"
11944
11945				// MSBuild location
11946				"msbuildFile"?: string
11947
11948				// MSBuild architecture
11949				"msbuildArchitectureOption"?: "x86" | "x64"
11950
11951				// Additional arguments
11952				"msbuildArguments"?: string
11953
11954				// Select JDK to use for the build
11955				"jdkOption"?: "JDKVersion" | "Path"
11956
11957				// JDK version
11958				"jdkVersionOption"?: "default" | "1.11" | "1.10" | "1.9" | "1.8" | "1.7" | "1.6"
11959
11960				// JDK path
11961				"jdkDirectory"?: string
11962
11963				// JDK architecture
11964				"jdkArchitectureOption"?: "x86" | "x64"
11965			})
11966			...
11967		},
11968		{
11969			// Copy and Publish Build Artifacts
11970			//
11971			// [DEPRECATED] Use the Copy Files task and the Publish Build Artifacts task instead
11972			"task"!: null | bool | number | =~"^CopyPublishBuildArtifacts@1$" | [...] | {...}
11973
11974			// Copy and Publish Build Artifacts inputs
11975			"inputs"!: null |
11976			bool |
11977			number |
11978			string |
11979			[...] |
11980			close({
11981				// Copy Root
11982				"CopyRoot"?: string
11983
11984				// Contents
11985				"Contents"!: string
11986
11987				// Artifact Name
11988				"ArtifactName"!: string
11989
11990				// Artifact Type
11991				"ArtifactType"!: "Container" | "FilePath"
11992
11993				// Path
11994				"TargetPath"?: string
11995			})
11996			...
11997		},
11998		{
11999			// Download package
12000			//
12001			// Download a package from a package management feed in Azure Artifacts
12002			"task"!: null | bool | number | =~"^DownloadPackage@0$" | [...] | {...}
12003
12004			// Download package inputs
12005			"inputs"!: null |
12006			bool |
12007			number |
12008			string |
12009			[...] |
12010			close({
12011				// Feed
12012				"feed"!: string
12013
12014				// Package
12015				"definition"!: string
12016
12017				// Version
12018				"version"!: string
12019
12020				// Destination directory
12021				"downloadPath"?: string
12022			})
12023			...
12024		},
12025		{
12026			// Download package
12027			//
12028			// Download a package from a package management feed in Azure Artifacts
12029			"task"!: null | bool | number | =~"^DownloadPackage@1$" | [...] | {...}
12030
12031			// Download package inputs
12032			"inputs"!: null |
12033			bool |
12034			number |
12035			string |
12036			[...] |
12037			close({
12038				// Package Type
12039				"packageType"?: "maven" | "npm" | "nuget" | "pypi" | "upack" | "cargo"
12040
12041				// Feed
12042				"feed"!: string
12043
12044				// View
12045				"view"?: string
12046
12047				// Package
12048				"definition"!: string
12049
12050				// Version
12051				"version"!: string
12052
12053				// Files
12054				"files"?: string
12055
12056				// Extract package contents
12057				"extract"?: bool
12058
12059				// Destination directory
12060				"downloadPath"?: string
12061			})
12062			...
12063		},
12064		{
12065			// Azure Resource Group Deployment
12066			//
12067			// Deploy, start, stop, delete Azure Resource Groups
12068			"task"!: null | bool | number | =~"^AzureResourceGroupDeployment@1$" | [...] | {...}
12069
12070			// Azure Resource Group Deployment inputs
12071			"inputs"?: null |
12072			bool |
12073			number |
12074			string |
12075			[...] |
12076			close({
12077				// Azure Connection Type
12078				"ConnectedServiceNameSelector"?: "ConnectedServiceName" | "ConnectedServiceNameClassic"
12079
12080				// Azure Subscription
12081				"ConnectedServiceName"?: string
12082
12083				// Azure Classic Subscription
12084				"ConnectedServiceNameClassic"?: string
12085
12086				// Action
12087				"action"?: "Create Or Update Resource Group" |
12088					"Select Resource Group" |
12089					"Start" |
12090					"Stop" |
12091					"Restart" |
12092					"Delete" |
12093					"DeleteRG"
12094
12095				// Action
12096				"actionClassic"?: "Select Resource Group"
12097
12098				// Resource Group
12099				"resourceGroupName"?: string
12100
12101				// Cloud Service
12102				"cloudService"?: string
12103
12104				// Location
12105				"location"?: "Australia East" |
12106					"Australia Southeast" |
12107					"Brazil South" |
12108					"Canada Central" |
12109					"Canada East" |
12110					"Central India" |
12111					"Central US" |
12112					"East Asia" |
12113					"East US" |
12114					"East US 2 " |
12115					"Japan East" |
12116					"Japan West" |
12117					"North Central US" |
12118					"North Europe" |
12119					"South Central US" |
12120					"South India" |
12121					"Southeast Asia" |
12122					"UK South" |
12123					"UK West" |
12124					"West Central US" |
12125					"West Europe" |
12126					"West India" |
12127					"West US" |
12128					"West US 2"
12129
12130				// Template
12131				"csmFile"?: string
12132
12133				// Template Parameters
12134				"csmParametersFile"?: string
12135
12136				// Override Template Parameters
12137				"overrideParameters"?: string
12138
12139				// Deployment Mode
12140				"deploymentMode"?: "Validation" | "Incremental" | "Complete"
12141
12142				// Enable Deployment Prerequisites
12143				"enableDeploymentPrerequisitesForCreate"?: bool
12144
12145				// Enable Deployment Prerequisites
12146				"enableDeploymentPrerequisitesForSelect"?: bool
12147
12148				// Resource Group
12149				"outputVariable"?: string
12150			})
12151			...
12152		},
12153		{
12154			// Azure resource group deployment
12155			//
12156			// Deploy an Azure Resource Manager (ARM) template to a resource group and manage virtual machines
12157			"task"!: null | bool | number | =~"^AzureResourceGroupDeployment@2$" | [...] | {...}
12158
12159			// Azure resource group deployment inputs
12160			"inputs"!: null |
12161			bool |
12162			number |
12163			string |
12164			[...] |
12165			close({
12166				// Azure subscription
12167				"azureSubscription"!: string
12168
12169				// Action
12170				"action"?: "Create Or Update Resource Group" |
12171					"Select Resource Group" |
12172					"Start" |
12173					"Stop" |
12174					"StopWithDeallocate" |
12175					"Restart" |
12176					"Delete" |
12177					"DeleteRG"
12178
12179				// Resource group
12180				"resourceGroupName"!: string
12181
12182				// Location
12183				"location"?: string
12184
12185				// Template location
12186				"templateLocation"?: "Linked artifact" | "URL of the file"
12187
12188				// Template link
12189				"csmFileLink"?: string
12190
12191				// Template parameters link
12192				"csmParametersFileLink"?: string
12193
12194				// Template
12195				"csmFile"?: string
12196
12197				// Template parameters
12198				"csmParametersFile"?: string
12199
12200				// Override template parameters
12201				"overrideParameters"?: string
12202
12203				// Deployment mode
12204				"deploymentMode"?: "Incremental" | "Complete" | "Validation"
12205
12206				// Enable prerequisites
12207				"enableDeploymentPrerequisites"?: "None" | "ConfigureVMwithWinRM" | "ConfigureVMWithDGAgent"
12208
12209				// Azure Pipelines service connection
12210				"teamServicesConnection"?: string
12211
12212				// Team project
12213				"teamProject"?: string
12214
12215				// Deployment Group
12216				"deploymentGroupName"?: string
12217
12218				// Copy Azure VM tags to agents
12219				"copyAzureVMTags"?: bool
12220
12221				// Run agent service as a user
12222				"runAgentServiceAsUser"?: bool
12223
12224				// User name
12225				"userName"?: string
12226
12227				// Password
12228				"password"?: string
12229
12230				// VM details for WinRM
12231				"outputVariable"?: string
12232
12233				// Deployment name
12234				"deploymentName"?: string
12235
12236				// Deployment outputs
12237				"deploymentOutputs"?: string
12238
12239				// Access service principal details in override parameters
12240				"addSpnToEnvironment"?: bool
12241
12242				// Use individual output values without JSON.Stringify applied
12243				"useWithoutJSON"?: bool
12244			})
12245			...
12246		},
12247		{
12248			// ARM template deployment
12249			//
12250			// Deploy an Azure Resource Manager (ARM) template to all the deployment scopes
12251			"task"!: null | bool | number | =~"^AzureResourceManagerTemplateDeployment@3$" | [...] | {...}
12252
12253			// ARM template deployment inputs
12254			"inputs"!: null |
12255			bool |
12256			number |
12257			string |
12258			[...] |
12259			close({
12260				// Deployment scope
12261				"deploymentScope"?: "Management Group" | "Subscription" | "Resource Group"
12262
12263				// Azure Resource Manager connection
12264				"azureResourceManagerConnection"!: string
12265
12266				// Subscription
12267				"subscriptionId"?: string
12268
12269				// Action
12270				"action"?: "Create Or Update Resource Group" | "DeleteRG"
12271
12272				// Resource group
12273				"resourceGroupName"?: string
12274
12275				// Location
12276				"location"?: string
12277
12278				// Template location
12279				"templateLocation"?: "Linked artifact" | "URL of the file"
12280
12281				// Template link
12282				"csmFileLink"?: string
12283
12284				// Template parameters link
12285				"csmParametersFileLink"?: string
12286
12287				// Template
12288				"csmFile"?: string
12289
12290				// Template parameters
12291				"csmParametersFile"?: string
12292
12293				// Override template parameters
12294				"overrideParameters"?: string
12295
12296				// Deployment mode
12297				"deploymentMode"?: "Incremental" | "Complete" | "Validation"
12298
12299				// Deployment name
12300				"deploymentName"?: string
12301
12302				// Deployment outputs
12303				"deploymentOutputs"?: string
12304
12305				// Access service principal details in override parameters
12306				"addSpnToEnvironment"?: bool
12307
12308				// Use individual output values without JSON.Stringify applied
12309				"useWithoutJSON"?: bool
12310			})
12311			...
12312		},
12313		{
12314			// Invoke REST API
12315			//
12316			// Invoke REST API as a part of your process.
12317			"task"!: null | bool | number | =~"^InvokeRESTAPI@0$" | [...] | {...}
12318
12319			// Invoke REST API inputs
12320			"inputs"!: null |
12321			bool |
12322			number |
12323			string |
12324			[...] |
12325			close({
12326				// Generic endpoint
12327				"serviceConnection"!: string
12328
12329				// Method
12330				"method"?: "OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "TRACE" | "PATCH"
12331
12332				// Headers
12333				"headers"?: string
12334
12335				// Body
12336				"body"?: string
12337
12338				// Url suffix string
12339				"urlSuffix"?: string
12340
12341				// Complete based on
12342				"waitForCompletion"?: "true" | "false"
12343
12344				// Success criteria
12345				"successCriteria"?: string
12346			})
12347			...
12348		},
12349		{
12350			// Invoke REST API
12351			//
12352			// Invoke a REST API as a part of your pipeline.
12353			"task"!: null | bool | number | =~"^InvokeRESTAPI@1$" | [...] | {...}
12354
12355			// Invoke REST API inputs
12356			"inputs"?: null |
12357			bool |
12358			number |
12359			string |
12360			[...] |
12361			close({
12362				// Connection type
12363				"connectionType"?: "connectedServiceName" | "connectedServiceNameARM"
12364
12365				// Generic service connection
12366				"serviceConnection"?: string
12367
12368				// Azure subscription
12369				"azureServiceConnection"?: string
12370
12371				// Method
12372				"method"?: "OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "TRACE" | "PATCH"
12373
12374				// Headers
12375				"headers"?: string
12376
12377				// Body
12378				"body"?: string
12379
12380				// URL suffix and parameters
12381				"urlSuffix"?: string
12382
12383				// Completion event
12384				"waitForCompletion"?: "true" | "false"
12385
12386				// Success criteria
12387				"successCriteria"?: string
12388			})
12389			...
12390		},
12391		{
12392			// Archive Files
12393			//
12394			// Archive files using compression formats such as .7z, .rar, .tar.gz, and .zip.
12395			"task"!: null | bool | number | =~"^ArchiveFiles@1$" | [...] | {...}
12396
12397			// Archive Files inputs
12398			"inputs"?: null |
12399			bool |
12400			number |
12401			string |
12402			[...] |
12403			close({
12404				// Root folder (or file) to archive
12405				"rootFolder"?: string
12406
12407				// Prefix root folder name to archive paths
12408				"includeRootFolder"?: bool
12409
12410				// Archive type
12411				"archiveType"?: "default" | "7z" | "tar" | "wim"
12412
12413				// Tar compression
12414				"tarCompression"?: "gz" | "bz2" | "xz" | "none"
12415
12416				// Archive file to create
12417				"archiveFile"?: string
12418
12419				// Replace existing archive
12420				"replaceExistingArchive"?: bool
12421			})
12422			...
12423		},
12424		{
12425			// Archive files
12426			//
12427			// Compress files into .7z, .tar.gz, or .zip
12428			"task"!: null | bool | number | =~"^ArchiveFiles@2$" | [...] | {...}
12429
12430			// Archive files inputs
12431			"inputs"?: null |
12432			bool |
12433			number |
12434			string |
12435			[...] |
12436			close({
12437				// Root folder or file to archive
12438				"rootFolderOrFile"?: string
12439
12440				// Prepend root folder name to archive paths
12441				"includeRootFolder"?: bool
12442
12443				// Archive type
12444				"archiveType"?: "zip" | "7z" | "tar" | "wim"
12445
12446				// 7z compression
12447				"sevenZipCompression"?: "ultra" | "maximum" | "normal" | "fast" | "fastest" | "none"
12448
12449				// Tar compression
12450				"tarCompression"?: "gz" | "bz2" | "xz" | "none"
12451
12452				// Archive file to create
12453				"archiveFile"?: string
12454
12455				// Replace existing archive
12456				"replaceExistingArchive"?: bool
12457
12458				// Force verbose output
12459				"verbose"?: bool
12460
12461				// Force quiet output
12462				"quiet"?: bool
12463			})
12464			...
12465		},
12466		{
12467			// GitHub Comment
12468			//
12469			// Write a comment to your Github entity i.e. issue or a Pull Request (PR)
12470			"task"!: null | bool | number | =~"^GitHubComment@0$" | [...] | {...}
12471
12472			// GitHub Comment inputs
12473			"inputs"!: null |
12474			bool |
12475			number |
12476			string |
12477			[...] |
12478			close({
12479				// GitHub connection (OAuth or PAT)
12480				"gitHubConnection"!: string
12481
12482				// Repository
12483				"repositoryName"?: string
12484
12485				// ID of the github pr/issue
12486				"id"?: string
12487
12488				// Comment
12489				"comment"?: string
12490			})
12491			...
12492		},
12493		{
12494			// Copy files
12495			//
12496			// Copy files from a source folder to a target folder using patterns matching
12497			// file paths (not folder paths)
12498			"task"!: null | bool | number | =~"^CopyFiles@2$" | [...] | {...}
12499
12500			// Copy files inputs
12501			"inputs"!: null |
12502			bool |
12503			number |
12504			string |
12505			[...] |
12506			close({
12507				// Source Folder
12508				"SourceFolder"?: string
12509
12510				// Contents
12511				"Contents"?: string
12512
12513				// Target Folder
12514				"TargetFolder"!: string
12515
12516				// Clean Target Folder
12517				"CleanTargetFolder"?: bool
12518
12519				// Overwrite
12520				"OverWrite"?: bool
12521
12522				// Flatten Folders
12523				"flattenFolders"?: bool
12524
12525				// Preserve Target Timestamp
12526				"preserveTimestamp"?: bool
12527
12528				// Retry count to copy the file
12529				"retryCount"?: string
12530
12531				// Delay between two retries.
12532				"delayBetweenRetries"?: string
12533
12534				// Ignore errors during creation of target folder.
12535				"ignoreMakeDirErrors"?: bool
12536			})
12537			...
12538		},
12539		{
12540			// Copy Files
12541			//
12542			// Copy files from source folder to target folder using minimatch patterns (The
12543			// minimatch patterns will only match file paths, not folder paths)
12544			"task"!: null | bool | number | =~"^CopyFiles@1$" | [...] | {...}
12545
12546			// Copy Files inputs
12547			"inputs"!: null |
12548			bool |
12549			number |
12550			string |
12551			[...] |
12552			close({
12553				// Source Folder
12554				"SourceFolder"?: string
12555
12556				// Contents
12557				"Contents"?: string
12558
12559				// Target Folder
12560				"TargetFolder"!: string
12561
12562				// Clean Target Folder
12563				"CleanTargetFolder"?: bool
12564
12565				// Overwrite
12566				"OverWrite"?: bool
12567
12568				// Flatten Folders
12569				"flattenFolders"?: bool
12570			})
12571			...
12572		},
12573		{
12574			// Azure Database for MySQL deployment
12575			//
12576			// Run your scripts and make changes to your Azure Database for MySQL
12577			"task"!: null | bool | number | =~"^AzureMysqlDeployment@1$" | [...] | {...}
12578
12579			// Azure Database for MySQL deployment inputs
12580			"inputs"!: null |
12581			bool |
12582			number |
12583			string |
12584			[...] |
12585			close({
12586				// Azure Subscription
12587				"azureSubscription"!: string
12588
12589				// Host Name
12590				"ServerName"!: string
12591
12592				// Database Name
12593				"DatabaseName"?: string
12594
12595				// Server Admin Login
12596				"SqlUsername"!: string
12597
12598				// Password
12599				"SqlPassword"!: string
12600
12601				// Type
12602				"TaskNameSelector"?: "SqlTaskFile" | "InlineSqlTask"
12603
12604				// MySQL Script
12605				"SqlFile"?: string
12606
12607				// Inline MySQL Script
12608				"SqlInline"?: string
12609
12610				// Additional MySQL Arguments
12611				"SqlAdditionalArguments"?: string
12612
12613				// Specify Firewall Rules Using
12614				"IpDetectionMethod"?: "AutoDetect" | "IPAddressRange"
12615
12616				// Start IP Address
12617				"StartIpAddress"?: string
12618
12619				// End IP Address
12620				"EndIpAddress"?: string
12621
12622				// Delete Rule After Task Ends
12623				"DeleteFirewallRule"?: bool
12624			})
12625			...
12626		},
12627		{
12628			// npm
12629			//
12630			// Install and publish npm packages, or run an npm command. Supports npmjs.com
12631			// and authenticated registries like Azure Artifacts.
12632			"task"!: null | bool | number | =~"^Npm@1$" | [...] | {...}
12633
12634			// npm inputs
12635			"inputs"?: null |
12636			bool |
12637			number |
12638			string |
12639			[...] |
12640			close({
12641				// Command
12642				"command"?: "ci" | "install" | "publish" | "custom"
12643
12644				// Working folder that contains package.json
12645				"workingDir"?: string
12646
12647				// Verbose logging
12648				"verbose"?: bool
12649
12650				// Command and arguments
12651				"customCommand"?: string
12652
12653				// Registries to use
12654				"customRegistry"?: "useNpmrc" | "useFeed"
12655
12656				// Use packages from this Azure Artifacts/TFS registry
12657				"customFeed"?: string
12658
12659				// Credentials for registries outside this organization/collection
12660				"customEndpoint"?: string
12661
12662				// Registry location
12663				"publishRegistry"?: "useExternalRegistry" | "useFeed"
12664
12665				// Target registry
12666				"publishFeed"?: string
12667
12668				// Publish pipeline metadata
12669				"publishPackageMetadata"?: bool
12670
12671				// External Registry
12672				"publishEndpoint"?: string
12673			})
12674			...
12675		},
12676		{
12677			// npm
12678			//
12679			// Run an npm command. Use NpmAuthenticate@0 task for latest capabilities.
12680			"task"!: null | bool | number | =~"^Npm@0$" | [...] | {...}
12681
12682			// npm inputs
12683			"inputs"?: null |
12684			bool |
12685			number |
12686			string |
12687			[...] |
12688			close({
12689				// working folder
12690				"cwd"?: string
12691
12692				// npm command
12693				"command"?: string
12694
12695				// arguments
12696				"arguments"?: string
12697			})
12698			...
12699		},
12700		{
12701			// Deploy Azure Static Web App
12702			//
12703			// [PREVIEW] Build and deploy an Azure Static Web App
12704			"task"!: null | bool | number | =~"^AzureStaticWebApp@0$" | [...] | {...}
12705
12706			// Deploy Azure Static Web App inputs
12707			"inputs"?: null |
12708			bool |
12709			number |
12710			string |
12711			[...] |
12712			close({
12713				// Working directory
12714				"workingDirectory"?: string
12715
12716				// App location
12717				"app_location"?: string
12718
12719				// App build command
12720				"app_build_command"?: string
12721
12722				// Output location
12723				"output_location"?: string
12724
12725				// Api location
12726				"api_location"?: string
12727
12728				// Api build command
12729				"api_build_command"?: string
12730
12731				// Routes location
12732				"routes_location"?: string
12733
12734				// Config file location
12735				"config_file_location"?: string
12736
12737				// Skip app build
12738				"skip_app_build"?: bool
12739
12740				// Skip api build
12741				"skip_api_build"?: bool
12742
12743				// Set static export
12744				"is_static_export"?: bool
12745
12746				// Verbose
12747				"verbose"?: bool
12748
12749				// Build timeout in minutes
12750				"build_timeout_in_minutes"?: int
12751
12752				// Azure Static Web Apps api token
12753				"azure_static_web_apps_api_token"?: string
12754
12755				// Deployment Environment
12756				"deployment_environment"?: string
12757
12758				// Production Branch
12759				"production_branch"?: string
12760
12761				// Data api location
12762				"data_api_location"?: string
12763
12764				// Azure Access Token
12765				"azure_access_token"?: string
12766
12767				// Default Hostname
12768				"default_hostname"?: string
12769			})
12770			...
12771		},
12772		{
12773			// Node.js tool installer
12774			//
12775			// Finds or downloads and caches the specified version spec of Node.js and adds it to the PATH
12776			"task"!: null | bool | number | =~"^NodeTool@0$" | [...] | {...}
12777
12778			// Node.js tool installer inputs
12779			"inputs"?: null |
12780			bool |
12781			number |
12782			string |
12783			[...] |
12784			close({
12785				// Source of version
12786				"versionSource"?: "spec" | "fromFile"
12787
12788				// Version Spec
12789				"versionSpec"?: string
12790
12791				// Path to the .nvmrc file
12792				"versionFilePath"?: string
12793
12794				// Check for Latest Version
12795				"checkLatest"?: bool
12796
12797				// Use 32 bit version on x64 agents
12798				"force32bit"?: bool
12799
12800				// Set source for Node.js binaries
12801				"nodejsMirror"?: string
12802
12803				// Set retry count when nodes downloads failed
12804				"retryCountOnDownloadFails"?: string
12805
12806				// Set delay between retries
12807				"delayBetweenRetries"?: string
12808			})
12809			...
12810		},
12811		{
12812			// [Deprecated] SQL Server database deploy
12813			//
12814			// Deploy a SQL Server database using DACPAC
12815			"task"!: null | bool | number | =~"^SqlServerDacpacDeployment@1$" | [...] | {...}
12816
12817			// [Deprecated] SQL Server database deploy inputs
12818			"inputs"!: null |
12819			bool |
12820			number |
12821			string |
12822			[...] |
12823			close({
12824				// Machines
12825				"EnvironmentName"!: string
12826
12827				// Admin Login
12828				"AdminUserName"?: string
12829
12830				// Password
12831				"AdminPassword"?: string
12832
12833				// Protocol
12834				"Protocol"?: "Http" | "Https"
12835
12836				// Test Certificate
12837				"TestCertificate"?: bool
12838
12839				// DACPAC File
12840				"DacpacFile"!: string
12841
12842				// Specify SQL Using
12843				"TargetMethod"?: "server" | "connectionString" | "publishProfile"
12844
12845				// Server Name
12846				"ServerName"?: string
12847
12848				// Database Name
12849				"DatabaseName"?: string
12850
12851				// SQL Username
12852				"SqlUsername"?: string
12853
12854				// SQL Password
12855				"SqlPassword"?: string
12856
12857				// Connection String
12858				"ConnectionString"?: string
12859
12860				// Publish Profile
12861				"PublishProfile"?: string
12862
12863				// Additional Arguments
12864				"AdditionalArguments"?: string
12865
12866				// Deploy in Parallel
12867				"DeployInParallel"?: bool
12868
12869				// Select Machines By
12870				"ResourceFilteringMethod"?: "machineNames" | "tags"
12871
12872				// Deploy to Machines
12873				"MachineFilter"?: string
12874			})
12875			...
12876		},
12877		{
12878			// Visual Studio test platform installer
12879			//
12880			// Acquire the test platform from nuget.org or the tool cache. Satisfies the
12881			// ‘vstest’ demand and can be used for running tests and collecting diagnostic
12882			// data using the Visual Studio Test task.
12883			"task"!: null | bool | number | =~"^VisualStudioTestPlatformInstaller@1$" | [...] | {...}
12884
12885			// Visual Studio test platform installer inputs
12886			"inputs"?: null |
12887			bool |
12888			number |
12889			string |
12890			[...] |
12891			close({
12892				// Package Feed
12893				"packageFeedSelector"?: "nugetOrg" | "customFeed" | "netShare"
12894
12895				// Version
12896				"versionSelector"?: "latestPreRelease" | "latestStable" | "specificVersion"
12897
12898				// Test Platform Version
12899				"testPlatformVersion"?: string
12900
12901				// Package Source
12902				"customFeed"?: string
12903
12904				// User Name
12905				"username"?: string
12906
12907				// Password
12908				"password"?: string
12909
12910				// UNC Path
12911				"netShare"?: string
12912			})
12913			...
12914		},
12915		{
12916			// Publish To Azure Service Bus
12917			//
12918			// Sends a message to Azure Service Bus using a service connection (no agent is required)
12919			"task"!: null | bool | number | =~"^PublishToAzureServiceBus@1$" | [...] | {...}
12920
12921			// Publish To Azure Service Bus inputs
12922			"inputs"!: null |
12923			bool |
12924			number |
12925			string |
12926			[...] |
12927			close({
12928				// Azure Service Bus service connection
12929				"azureSubscription"!: string
12930
12931				// Message body
12932				"messageBody"?: string
12933
12934				// Session Id
12935				"sessionId"?: string
12936
12937				// Sign the Message
12938				"signPayload"?: bool
12939
12940				// Certificate Variable
12941				"certificateString"?: string
12942
12943				// Signature Property Key
12944				"signatureKey"?: string
12945
12946				// Wait for task completion
12947				"waitForCompletion"?: bool
12948
12949				// Use .NET data contract serializer
12950				"useDataContractSerializer"?: bool
12951			})
12952			...
12953		},
12954		{
12955			// Publish To Azure Service Bus
12956			//
12957			// Sends a message to Azure Service Bus using an Azure Resource Manager service
12958			// connection (no agent is required)
12959			"task"!: null | bool | number | =~"^PublishToAzureServiceBus@2$" | [...] | {...}
12960
12961			// Publish To Azure Service Bus inputs
12962			"inputs"!: null |
12963			bool |
12964			number |
12965			string |
12966			[...] |
12967			close({
12968				// Azure Resource Manager service connection
12969				"azureSubscription"!: string
12970
12971				// Azure Service Bus Queue name
12972				"serviceBusQueueName"!: string
12973
12974				// Azure Service Bus Namespace
12975				"serviceBusNamespace"!: string
12976
12977				// Message body
12978				"messageBody"?: string
12979
12980				// Session Id
12981				"sessionId"?: string
12982
12983				// Sign the Message
12984				"signPayload"?: bool
12985
12986				// Certificate Variable
12987				"certificateString"?: string
12988
12989				// Signature Property Key
12990				"signatureKey"?: string
12991
12992				// Wait for task completion
12993				"waitForCompletion"?: bool
12994
12995				// Use .NET data contract serializer
12996				"useDataContractSerializer"?: bool
12997			})
12998			...
12999		},
13000		{
13001			// Publish To Azure Service Bus
13002			//
13003			// Sends a message to azure service bus using a service connection (no agent required).
13004			"task"!: null | bool | number | =~"^PublishToAzureServiceBus@0$" | [...] | {...}
13005
13006			// Publish To Azure Service Bus inputs
13007			"inputs"!: null |
13008			bool |
13009			number |
13010			string |
13011			[...] |
13012			close({
13013				// Azure service bus connection
13014				"azureSubscription"!: string
13015
13016				// Message body
13017				"messageBody"?: string
13018
13019				// Wait for task completion
13020				"waitForCompletion"?: bool
13021			})
13022			...
13023		},
13024		{
13025			// Deploy to Kubernetes
13026			//
13027			// Use Kubernetes manifest files to deploy to clusters or even bake the manifest
13028			// files to be used for deployments using Helm charts
13029			"task"!: null | bool | number | =~"^KubernetesManifest@0$" | [...] | {...}
13030
13031			// Deploy to Kubernetes inputs
13032			"inputs"?: null |
13033			bool |
13034			number |
13035			string |
13036			[...] |
13037			close({
13038				// Action
13039				"action"?: "bake" | "createSecret" | "delete" | "deploy" | "patch" | "promote" | "scale" | "reject"
13040
13041				// Kubernetes service connection
13042				"kubernetesServiceConnection"?: string
13043
13044				// Namespace
13045				"namespace"?: string
13046
13047				// Strategy
13048				"strategy"?: "canary" | "none"
13049
13050				// Traffic split method
13051				"trafficSplitMethod"?: "pod" | "smi"
13052
13053				// Percentage
13054				"percentage"?: string
13055
13056				// Baseline and canary replicas
13057				"baselineAndCanaryReplicas"?: string
13058
13059				// Manifests
13060				"manifests"?: string
13061
13062				// Containers
13063				"containers"?: string
13064
13065				// ImagePullSecrets
13066				"imagePullSecrets"?: string
13067
13068				// Render Engine
13069				"renderType"?: "helm" | "kompose" | "kustomize"
13070
13071				// Path to docker compose file
13072				"dockerComposeFile"?: string
13073
13074				// Helm Chart
13075				"helmChart"?: string
13076
13077				// Helm Release Name
13078				"releaseName"?: string
13079
13080				// Override Files
13081				"overrideFiles"?: string
13082
13083				// Overrides
13084				"overrides"?: string
13085
13086				// Kustomization Path
13087				"kustomizationPath"?: string
13088
13089				// Resource to patch
13090				"resourceToPatch"?: "file" | "name"
13091
13092				// File path
13093				"resourceFileToPatch"?: string
13094
13095				// Kind
13096				"kind"?: "deployment" | "replicaset" | "statefulset"
13097
13098				// Name
13099				"name"?: string
13100
13101				// Replica count
13102				"replicas"?: string
13103
13104				// Merge Strategy
13105				"mergeStrategy"?: "json" | "merge" | "strategic"
13106
13107				// Arguments
13108				"arguments"?: string
13109
13110				// Patch
13111				"patch"?: string
13112
13113				// Type of secret
13114				"secretType"?: "dockerRegistry" | "generic"
13115
13116				// Secret name
13117				"secretName"?: string
13118
13119				// Arguments
13120				"secretArguments"?: string
13121
13122				// Docker registry service connection
13123				"dockerRegistryEndpoint"?: string
13124
13125				// Timeout for rollout status
13126				"rolloutStatusTimeout"?: string
13127			})
13128			...
13129		},
13130		{
13131			// Deploy to Kubernetes
13132			//
13133			// Use Kubernetes manifest files to deploy to clusters or even bake the manifest
13134			// files to be used for deployments using Helm charts
13135			"task"!: null | bool | number | =~"^KubernetesManifest@1$" | [...] | {...}
13136
13137			// Deploy to Kubernetes inputs
13138			"inputs"?: null |
13139			bool |
13140			number |
13141			string |
13142			[...] |
13143			close({
13144				// Action
13145				"action"?: "bake" | "createSecret" | "delete" | "deploy" | "patch" | "promote" | "scale" | "reject"
13146
13147				// Service connection type
13148				"connectionType"?: "azureResourceManager" | "kubernetesServiceConnection"
13149
13150				// Kubernetes service connection
13151				"kubernetesServiceConnection"?: string
13152
13153				// Azure subscription
13154				"azureSubscriptionConnection"?: string
13155
13156				// Resource group
13157				"azureResourceGroup"?: string
13158
13159				// Kubernetes cluster
13160				"kubernetesCluster"?: string
13161
13162				// Use cluster admin credentials
13163				"useClusterAdmin"?: bool
13164
13165				// Namespace
13166				"namespace"?: string
13167
13168				// Strategy
13169				"strategy"?: "canary" | "none"
13170
13171				// Traffic split method
13172				"trafficSplitMethod"?: "pod" | "smi"
13173
13174				// Percentage
13175				"percentage"?: string
13176
13177				// Baseline and canary replicas
13178				"baselineAndCanaryReplicas"?: string
13179
13180				// Manifests
13181				"manifests"?: string
13182
13183				// Containers
13184				"containers"?: string
13185
13186				// ImagePullSecrets
13187				"imagePullSecrets"?: string
13188
13189				// Render Engine
13190				"renderType"?: "helm" | "kompose" | "kustomize"
13191
13192				// Path to docker compose file
13193				"dockerComposeFile"?: string
13194
13195				// Helm Chart
13196				"helmChart"?: string
13197
13198				// Helm Release Name
13199				"releaseName"?: string
13200
13201				// Override Files
13202				"overrideFiles"?: string
13203
13204				// Overrides
13205				"overrides"?: string
13206
13207				// Kustomization Path
13208				"kustomizationPath"?: string
13209
13210				// Resource to patch
13211				"resourceToPatch"?: "file" | "name"
13212
13213				// File path
13214				"resourceFileToPatch"?: string
13215
13216				// Kind
13217				"kind"?: "deployment" | "replicaset" | "statefulset"
13218
13219				// Name
13220				"name"?: string
13221
13222				// Replica count
13223				"replicas"?: string
13224
13225				// Merge Strategy
13226				"mergeStrategy"?: "json" | "merge" | "strategic"
13227
13228				// Arguments
13229				"arguments"?: string
13230
13231				// Patch
13232				"patch"?: string
13233
13234				// Type of secret
13235				"secretType"?: "dockerRegistry" | "generic"
13236
13237				// Secret name
13238				"secretName"?: string
13239
13240				// Arguments
13241				"secretArguments"?: string
13242
13243				// Docker registry service connection
13244				"dockerRegistryEndpoint"?: string
13245
13246				// Timeout for rollout status
13247				"rolloutStatusTimeout"?: string
13248
13249				// Resource type
13250				"resourceType"?: string
13251			})
13252			...
13253		},
13254		{
13255			// Download build artifacts
13256			//
13257			// Download files that were saved as artifacts of a completed build
13258			"task"!: null | bool | number | =~"^DownloadBuildArtifacts@0$" | [...] | {...}
13259
13260			// Download build artifacts inputs
13261			"inputs"?: null |
13262			bool |
13263			number |
13264			string |
13265			[...] |
13266			close({
13267				// Download artifacts produced by
13268				"buildType"?: "current" | "specific"
13269
13270				// Project
13271				"project"?: string
13272
13273				// Build pipeline
13274				"pipeline"?: string
13275
13276				// When appropriate, download artifacts from the triggering build.
13277				"specificBuildWithTriggering"?: bool
13278
13279				// Build version to download
13280				"buildVersionToDownload"?: "latest" | "latestFromBranch" | "specific"
13281
13282				// Download artifacts even from partially succeeded builds.
13283				"allowPartiallySucceededBuilds"?: bool
13284
13285				// Branch name
13286				"branchName"?: string
13287
13288				// Build
13289				"buildId"?: string
13290
13291				// Build Tags
13292				"tags"?: string
13293
13294				// Download type
13295				"downloadType"?: "single" | "specific"
13296
13297				// Artifact name
13298				"artifactName"?: string
13299
13300				// Matching pattern
13301				"itemPattern"?: string
13302
13303				// Destination directory
13304				"downloadPath"?: string
13305
13306				// Clean destination folder
13307				"cleanDestinationFolder"?: bool
13308
13309				// Parallelization limit
13310				"parallelizationLimit"?: string
13311
13312				// Check downloaded files
13313				"checkDownloadedFiles"?: bool
13314
13315				// Retry count
13316				"retryDownloadCount"?: string
13317
13318				// Retry count for redirect download
13319				"retryRedirectDownloadCount"?: string
13320
13321				// Extract all files that are stored inside tar archives
13322				"extractTars"?: bool
13323			})
13324			...
13325		},
13326		{
13327			// Download build artifacts
13328			//
13329			// Download files that were saved as artifacts of a completed build
13330			"task"!: null | bool | number | =~"^DownloadBuildArtifacts@1$" | [...] | {...}
13331
13332			// Download build artifacts inputs
13333			"inputs"?: null |
13334			bool |
13335			number |
13336			string |
13337			[...] |
13338			close({
13339				// Download artifacts produced by
13340				"buildType"?: "current" | "specific"
13341
13342				// Project
13343				"project"?: string
13344
13345				// Build pipeline
13346				"pipeline"?: string
13347
13348				// When appropriate, download artifacts from the triggering build.
13349				"specificBuildWithTriggering"?: bool
13350
13351				// Build version to download
13352				"buildVersionToDownload"?: "latest" | "latestFromBranch" | "specific"
13353
13354				// Download artifacts even from partially succeeded builds.
13355				"allowPartiallySucceededBuilds"?: bool
13356
13357				// Branch name
13358				"branchName"?: string
13359
13360				// Build
13361				"buildId"?: string
13362
13363				// Build Tags
13364				"tags"?: string
13365
13366				// Download type
13367				"downloadType"?: "single" | "specific"
13368
13369				// Artifact name
13370				"artifactName"?: string
13371
13372				// Matching pattern
13373				"itemPattern"?: string
13374
13375				// Destination directory
13376				"downloadPath"?: string
13377
13378				// Clean destination folder
13379				"cleanDestinationFolder"?: bool
13380
13381				// Parallelization limit
13382				"parallelizationLimit"?: string
13383
13384				// Check downloaded files
13385				"checkDownloadedFiles"?: bool
13386
13387				// Retry count
13388				"retryDownloadCount"?: string
13389
13390				// Extract all files that are stored inside tar archives
13391				"extractTars"?: bool
13392			})
13393			...
13394		},
13395		{
13396			// CocoaPods
13397			//
13398			// Install CocoaPods dependencies for Swift and Objective-C Cocoa projects
13399			"task"!: null | bool | number | =~"^CocoaPods@0$" | [...] | {...}
13400
13401			// CocoaPods inputs
13402			"inputs"?: null |
13403			bool |
13404			number |
13405			string |
13406			[...] |
13407			close({
13408				// Working directory
13409				"workingDirectory"?: string
13410
13411				// Force repo update
13412				"forceRepoUpdate"?: bool
13413
13414				// Project directory
13415				"projectDirectory"?: string
13416			})
13417			...
13418		},
13419		{
13420			// Azure Spring Apps
13421			//
13422			// Deploy applications to Azure Spring Apps and manage deployments.
13423			"task"!: null | bool | number | =~"^AzureSpringCloud@0$" | [...] | {...}
13424
13425			// Azure Spring Apps inputs
13426			"inputs"!: null |
13427			bool |
13428			number |
13429			string |
13430			[...] |
13431			close({
13432				// Azure subscription
13433				"azureSubscription"!: string
13434
13435				// Action
13436				"Action"?: "Deploy" | "Set Production" | "Delete Staging Deployment"
13437
13438				// Azure Spring Apps Name
13439				"AzureSpringCloud"!: string
13440
13441				// App
13442				"AppName"!: string
13443
13444				// Deployment Type
13445				"DeploymentType"?: "Artifacts" | "CustomContainer"
13446
13447				// Use Staging Deployment
13448				"UseStagingDeployment"?: bool
13449
13450				// Create a new staging deployment if one does not exist.
13451				"CreateNewDeployment"?: bool
13452
13453				// Deployment
13454				"DeploymentName"?: string
13455
13456				// Package or folder
13457				"Package"?: string
13458
13459				// Builder
13460				"Builder"?: string
13461
13462				// Registry Server
13463				"RegistryServer"?: string
13464
13465				// Registry Username
13466				"RegistryUsername"?: string
13467
13468				// Registry Password
13469				"RegistryPassword"?: string
13470
13471				// Image Name and Tag
13472				"ImageName"?: string
13473
13474				// Image Command
13475				"ImageCommand"?: string
13476
13477				// Image Arguments
13478				"ImageArgs"?: string
13479
13480				// Language Framework
13481				"ImageLanguageFramework"?: "springboot" | ""
13482
13483				// Environment Variables
13484				"EnvironmentVariables"?: string
13485
13486				// JVM Options
13487				"JvmOptions"?: string
13488
13489				// Runtime Version
13490				"RuntimeVersion"?: "Java_8" | "Java_11" | "Java_17" | "Java_21" | "NetCore_31"
13491
13492				// Main Entry Path
13493				"DotNetCoreMainEntryPath"?: string
13494
13495				// Version
13496				"Version"?: string
13497			})
13498			...
13499		},
13500		{
13501			// Azure Web App
13502			//
13503			// Deploy an Azure Web App for Linux or Windows
13504			"task"!: null | bool | number | =~"^AzureWebApp@1$" | [...] | {...}
13505
13506			// Azure Web App inputs
13507			"inputs"!: null |
13508			bool |
13509			number |
13510			string |
13511			[...] |
13512			close({
13513				// Azure subscription
13514				"azureSubscription"!: string
13515
13516				// App type
13517				"appType"!: "webApp" | "webAppLinux"
13518
13519				// App name
13520				"appName"!: string
13521
13522				// Deploy to Slot or App Service Environment
13523				"deployToSlotOrASE"?: bool
13524
13525				// Resource group
13526				"resourceGroupName"?: string
13527
13528				// Slot
13529				"slotName"?: string
13530
13531				// Package or folder
13532				"package"?: string
13533
13534				// Custom Deploy Folder
13535				"customDeployFolder"?: string
13536
13537				// Runtime stack
13538				"runtimeStack"?: "DOTNETCORE|9.0" |
13539					"DOTNETCORE|8.0" |
13540					"DOTNETCORE|7.0" |
13541					"DOTNETCORE|6.0" |
13542					"NODE|22-lts" |
13543					"NODE|20-lts" |
13544					"NODE|18-lts" |
13545					"NODE|16-lts" |
13546					"PYTHON|3.13" |
13547					"PYTHON|3.12" |
13548					"PYTHON|3.11" |
13549					"PYTHON|3.10" |
13550					"PYTHON|3.9" |
13551					"PYTHON|3.8" |
13552					"PHP|8.3" |
13553					"PHP|8.2" |
13554					"PHP|8.1" |
13555					"PHP|8.0" |
13556					"JAVA|21-java21" |
13557					"JAVA|17-java17" |
13558					"JAVA|11-java11" |
13559					"JAVA|8-jre8" |
13560					"JBOSSEAP|8-java17" |
13561					"JBOSSEAP|8-java11" |
13562					"JBOSSEAP|7-java17" |
13563					"JBOSSEAP|7-java11" |
13564					"JBOSSEAP|7-java8" |
13565					"TOMCAT|10.1-java21" |
13566					"TOMCAT|10.1-java17" |
13567					"TOMCAT|10.1-java11" |
13568					"TOMCAT|10.0-java17" |
13569					"TOMCAT|10.0-java11" |
13570					"TOMCAT|10.0-jre8" |
13571					"TOMCAT|9.0-java21" |
13572					"TOMCAT|9.0-java17" |
13573					"TOMCAT|9.0-java11" |
13574					"TOMCAT|9.0-jre8" |
13575					"TOMCAT|8.5-java11" |
13576					"TOMCAT|8.5-jre8"
13577
13578				// Startup command
13579				"startUpCommand"?: string
13580
13581				// Generate web.config parameters for Python, Node.js, Go and Java apps
13582				"customWebConfig"?: string
13583
13584				// App settings
13585				"appSettings"?: string
13586
13587				// Configuration settings
13588				"configurationStrings"?: string
13589
13590				// Deployment method
13591				"deploymentMethod"?: "auto" | "zipDeploy" | "runFromPackage"
13592			})
13593			...
13594		},
13595		{
13596			// Azure CLI
13597			//
13598			// Run Azure CLI commands against an Azure subscription in a Shell script when
13599			// running on Linux agent or Batch script when running on Windows agent.
13600			"task"!: null | bool | number | =~"^AzureCLI@1$" | [...] | {...}
13601
13602			// Azure CLI inputs
13603			"inputs"!: null |
13604			bool |
13605			number |
13606			string |
13607			[...] |
13608			close({
13609				// Azure subscription
13610				"azureSubscription"!: string
13611
13612				// Script Location
13613				"scriptLocation"?: "inlineScript" | "scriptPath"
13614
13615				// Script Path
13616				"scriptPath"?: string
13617
13618				// Inline Script
13619				"inlineScript"?: string
13620
13621				// Arguments
13622				"arguments"?: string
13623
13624				// Access service principal details in script
13625				"addSpnToEnvironment"?: bool
13626
13627				// Use global Azure CLI configuration
13628				"useGlobalConfig"?: bool
13629
13630				// Working Directory
13631				"workingDirectory"?: string
13632
13633				// Fail on Standard Error
13634				"failOnStandardError"?: bool
13635			})
13636			...
13637		},
13638		{
13639			// Azure CLI
13640			//
13641			// Run Azure CLI commands against an Azure subscription in a PowerShell
13642			// Core/Shell script when running on Linux agent or PowerShell/PowerShell
13643			// Core/Batch script when running on Windows agent.
13644			"task"!: null | bool | number | =~"^AzureCLI@2$" | [...] | {...}
13645
13646			// Azure CLI inputs
13647			"inputs"!: null |
13648			bool |
13649			number |
13650			string |
13651			[...] |
13652			close({
13653				// Azure Resource Manager connection
13654				"azureSubscription"!: string
13655
13656				// Script Type
13657				"scriptType"!: "ps" | "pscore" | "batch" | "bash"
13658
13659				// Script Location
13660				"scriptLocation"?: "inlineScript" | "scriptPath"
13661
13662				// Script Path
13663				"scriptPath"?: string
13664
13665				// Inline Script
13666				"inlineScript"?: string
13667
13668				// Script Arguments
13669				"arguments"?: string
13670
13671				// ErrorActionPreference
13672				"powerShellErrorActionPreference"?: "stop" | "continue" | "silentlyContinue"
13673
13674				// Access service principal details in script
13675				"addSpnToEnvironment"?: bool
13676
13677				// Use global Azure CLI configuration
13678				"useGlobalConfig"?: bool
13679
13680				// Working Directory
13681				"workingDirectory"?: string
13682
13683				// Fail on Standard Error
13684				"failOnStandardError"?: bool
13685
13686				// Ignore $LASTEXITCODE
13687				"powerShellIgnoreLASTEXITCODE"?: bool
13688
13689				// az login output visibility
13690				"visibleAzLogin"?: bool
13691
13692				// [Experimental] Keep Azure CLI session active
13693				"keepAzSessionActive"?: bool
13694			})
13695			...
13696		},
13697		{
13698			// Azure CLI Preview
13699			//
13700			// Run a Shell or Batch script with Azure CLI commands against an azure subscription
13701			"task"!: null | bool | number | =~"^AzureCLI@0$" | [...] | {...}
13702
13703			// Azure CLI Preview inputs
13704			"inputs"?: null |
13705			bool |
13706			number |
13707			string |
13708			[...] |
13709			close({
13710				// Azure Connection Type
13711				"connectedServiceNameSelector"?: "connectedServiceName" | "connectedServiceNameARM"
13712
13713				// AzureRM Subscription
13714				"connectedServiceNameARM"?: string
13715
13716				// Azure Classic Subscription
13717				"connectedServiceName"?: string
13718
13719				// Script Location
13720				"scriptLocation"?: "inlineScript" | "scriptPath"
13721
13722				// Script Path
13723				"scriptPath"?: string
13724
13725				// Inline Script
13726				"inlineScript"?: string
13727
13728				// Arguments
13729				"args"?: string
13730
13731				// Working Directory
13732				"cwd"?: string
13733
13734				// Fail on Standard Error
13735				"failOnStandardError"?: bool
13736			})
13737			...
13738		},
13739		{
13740			// Azure CLI
13741			//
13742			// Run Azure CLI commands against an Azure subscription in a PowerShell
13743			// Core/Shell script when running on Linux agent or PowerShell/PowerShell
13744			// Core/Batch script when running on Windows agent.
13745			"task"!: null | bool | number | =~"^AzureCLI@2$" | [...] | {...}
13746
13747			// Azure CLI inputs
13748			"inputs"!: null |
13749			bool |
13750			number |
13751			string |
13752			[...] |
13753			close({
13754				// Azure Resource Manager connection
13755				"azureSubscription"!: string
13756
13757				// Script Type
13758				"scriptType"!: "ps" | "pscore" | "batch" | "bash"
13759
13760				// Script Location
13761				"scriptLocation"?: "inlineScript" | "scriptPath"
13762
13763				// Script Path
13764				"scriptPath"?: string
13765
13766				// Inline Script
13767				"inlineScript"?: string
13768
13769				// Script Arguments
13770				"arguments"?: string
13771
13772				// ErrorActionPreference
13773				"powerShellErrorActionPreference"?: "stop" | "continue" | "silentlyContinue"
13774
13775				// Access service principal details in script
13776				"addSpnToEnvironment"?: bool
13777
13778				// Use global Azure CLI configuration
13779				"useGlobalConfig"?: bool
13780
13781				// Working Directory
13782				"workingDirectory"?: string
13783
13784				// Fail on Standard Error
13785				"failOnStandardError"?: bool
13786
13787				// Ignore $LASTEXITCODE
13788				"powerShellIgnoreLASTEXITCODE"?: bool
13789
13790				// az login output visibility
13791				"visibleAzLogin"?: bool
13792
13793				// [Experimental] Keep Azure CLI session active
13794				"keepAzSessionActive"?: bool
13795			})
13796			...
13797		},
13798		{
13799			// GitHub Release
13800			//
13801			// Create, edit, or delete a GitHub release
13802			"task"!: null | bool | number | =~"^GitHubRelease@1$" | [...] | {...}
13803
13804			// GitHub Release inputs
13805			"inputs"!: null |
13806			bool |
13807			number |
13808			string |
13809			[...] |
13810			close({
13811				// GitHub connection (OAuth or PAT)
13812				"gitHubConnection"!: string
13813
13814				// Repository
13815				"repositoryName"?: string
13816
13817				// Action
13818				"action"?: "create" | "edit" | "delete"
13819
13820				// Target
13821				"target"?: string
13822
13823				// Tag source
13824				"tagSource"?: "gitTag" | "userSpecifiedTag"
13825
13826				// Tag Pattern
13827				"tagPattern"?: string
13828
13829				// Tag
13830				"tag"?: string
13831
13832				// Release title
13833				"title"?: string
13834
13835				// Release notes source
13836				"releaseNotesSource"?: "filePath" | "inline"
13837
13838				// Release notes file path
13839				"releaseNotesFilePath"?: string
13840
13841				// Release notes
13842				"releaseNotesInline"?: string
13843
13844				// Assets
13845				"assets"?: string
13846
13847				// Asset upload mode
13848				"assetUploadMode"?: "delete" | "replace"
13849
13850				// Draft release
13851				"isDraft"?: bool
13852
13853				// Pre-release
13854				"isPreRelease"?: bool
13855
13856				// Add changelog
13857				"addChangeLog"?: bool
13858
13859				// Compare to
13860				"changeLogCompareToRelease"?: "lastFullRelease" | "lastNonDraftRelease" | "lastNonDraftReleaseByTag"
13861
13862				// Release Tag
13863				"changeLogCompareToReleaseTag"?: string
13864
13865				// Changelog type
13866				"changeLogType"?: "commitBased" | "issueBased"
13867
13868				// Categories
13869				"changeLogLabels"?: string
13870			})
13871			...
13872		},
13873		{
13874			// GitHub Release
13875			//
13876			// Create, edit, or delete a GitHub release
13877			"task"!: null | bool | number | =~"^GitHubRelease@0$" | [...] | {...}
13878
13879			// GitHub Release inputs
13880			"inputs"!: null |
13881			bool |
13882			number |
13883			string |
13884			[...] |
13885			close({
13886				// GitHub connection (OAuth or PAT)
13887				"gitHubConnection"!: string
13888
13889				// Repository
13890				"repositoryName"?: string
13891
13892				// Action
13893				"action"?: "create" | "edit" | "delete"
13894
13895				// Target
13896				"target"?: string
13897
13898				// Tag source
13899				"tagSource"?: "auto" | "manual"
13900
13901				// Tag Pattern
13902				"tagPattern"?: string
13903
13904				// Tag
13905				"tag"?: string
13906
13907				// Release title
13908				"title"?: string
13909
13910				// Release notes source
13911				"releaseNotesSource"?: "file" | "input"
13912
13913				// Release notes file path
13914				"releaseNotesFile"?: string
13915
13916				// Release notes
13917				"releaseNotes"?: string
13918
13919				// Assets
13920				"assets"?: string
13921
13922				// Asset upload mode
13923				"assetUploadMode"?: "delete" | "replace"
13924
13925				// Draft release
13926				"isDraft"?: bool
13927
13928				// Pre-release
13929				"isPreRelease"?: bool
13930
13931				// Add changelog
13932				"addChangeLog"?: bool
13933
13934				// Compare to
13935				"changeLogCompareToRelease"?: "lastFullRelease" | "lastNonDraftRelease" | "lastNonDraftReleaseByTag"
13936
13937				// Release Tag
13938				"changeLogCompareToReleaseTag"?: string
13939
13940				// Changelog type
13941				"changeLogType"?: "commitBased" | "issueBased"
13942
13943				// Categories
13944				"changeLogLabels"?: string
13945			})
13946			...
13947		},
13948		{
13949			// cURL Upload Files
13950			//
13951			// Use cURL to upload files with FTP, FTPS, SFTP, HTTP, and more.
13952			"task"!: null | bool | number | =~"^cURLUploader@1$" | [...] | {...}
13953
13954			// cURL Upload Files inputs
13955			"inputs"!: null |
13956			bool |
13957			number |
13958			string |
13959			[...] |
13960			close({
13961				// Files
13962				"files"!: string
13963
13964				// Username
13965				"username"?: string
13966
13967				// Password
13968				"password"?: string
13969
13970				// URL
13971				"url"!: string
13972
13973				// Optional Arguments
13974				"options"?: string
13975
13976				// Redirect Standard Error to Standard Out
13977				"redirectStderr"?: bool
13978			})
13979			...
13980		},
13981		{
13982			// cURL upload files
13983			//
13984			// Use cURL's supported protocols to upload files
13985			"task"!: null | bool | number | =~"^cURLUploader@2$" | [...] | {...}
13986
13987			// cURL upload files inputs
13988			"inputs"!: null |
13989			bool |
13990			number |
13991			string |
13992			[...] |
13993			close({
13994				// Files
13995				"files"!: string
13996
13997				// Authentication Method
13998				"authType"?: "ServiceEndpoint" | "UserAndPass"
13999
14000				// Service Connection
14001				"serviceEndpoint"?: string
14002
14003				// Username
14004				"username"?: string
14005
14006				// Password
14007				"password"?: string
14008
14009				// URL
14010				"url"?: string
14011
14012				// Remote Directory
14013				"remotePath"?: string
14014
14015				// Optional Arguments
14016				"options"?: string
14017
14018				// Redirect Standard Error to Standard Out
14019				"redirectStderr"?: bool
14020			})
14021			...
14022		},
14023		{
14024			// Azure App Service Settings
14025			//
14026			// Update/Add App settings an Azure Web App for Linux or Windows
14027			"task"!: null | bool | number | =~"^AzureAppServiceSettings@1$" | [...] | {...}
14028
14029			// Azure App Service Settings inputs
14030			"inputs"!: null |
14031			bool |
14032			number |
14033			string |
14034			[...] |
14035			close({
14036				// Azure subscription
14037				"azureSubscription"!: string
14038
14039				// App Service name
14040				"appName"!: string
14041
14042				// Resource group
14043				"resourceGroupName"!: string
14044
14045				// Slot
14046				"slotName"?: string
14047
14048				// App settings
14049				"appSettings"?: string
14050
14051				// General settings
14052				"generalSettings"?: string
14053
14054				// Connection Strings
14055				"connectionStrings"?: string
14056			})
14057			...
14058		},
14059		{
14060			// Universal packages
14061			//
14062			// Download or publish Universal Packages
14063			"task"!: null | bool | number | =~"^UniversalPackages@0$" | [...] | {...}
14064
14065			// Universal packages inputs
14066			"inputs"?: null |
14067			bool |
14068			number |
14069			string |
14070			[...] |
14071			close({
14072				// Command
14073				"command"?: "download" | "publish"
14074
14075				// Destination directory
14076				"downloadDirectory"?: string
14077
14078				// Feed location
14079				"feedsToUse"?: "internal" | "external"
14080
14081				// organization/collection connection
14082				"externalFeedCredentials"?: string
14083
14084				// Feed
14085				"vstsFeed"?: string
14086
14087				// Package name
14088				"vstsFeedPackage"?: string
14089
14090				// Version
14091				"vstsPackageVersion"?: string
14092
14093				// Feed (or Project/Feed if the feed was created in a project)
14094				"feedDownloadExternal"?: string
14095
14096				// Package name
14097				"packageDownloadExternal"?: string
14098
14099				// Version
14100				"versionDownloadExternal"?: string
14101
14102				// Path to file(s) to publish
14103				"publishDirectory"?: string
14104
14105				// Feed location
14106				"feedsToUsePublish"?: "internal" | "external"
14107
14108				// organization/collection connection
14109				"publishFeedCredentials"?: string
14110
14111				// Destination Feed
14112				"vstsFeedPublish"?: string
14113
14114				// Publish pipeline metadata
14115				"publishPackageMetadata"?: bool
14116
14117				// Package name
14118				"vstsFeedPackagePublish"?: string
14119
14120				// Feed (or Project/Feed if the feed was created in a project)
14121				"feedPublishExternal"?: string
14122
14123				// Package name
14124				"packagePublishExternal"?: string
14125
14126				// Version
14127				"versionOption"?: "major" | "minor" | "patch" | "custom"
14128
14129				// Custom version
14130				"versionPublish"?: string
14131
14132				// Description
14133				"packagePublishDescription"?: string
14134
14135				// Verbosity
14136				"verbosity"?: "None" | "Trace" | "Debug" | "Information" | "Warning" | "Error" | "Critical"
14137
14138				// Package Output Variable
14139				"publishedPackageVar"?: string
14140			})
14141			...
14142		},
14143		{
14144			// Check Azure Policy compliance
14145			//
14146			// Security and compliance assessment for Azure Policy
14147			"task"!: null | bool | number | =~"^AzurePolicyCheckGate@0$" | [...] | {...}
14148
14149			// Check Azure Policy compliance inputs
14150			"inputs"!: null |
14151			bool |
14152			number |
14153			string |
14154			[...] |
14155			close({
14156				// Azure subscription
14157				"azureSubscription"!: string
14158
14159				// Resource group
14160				"ResourceGroupName"?: string
14161
14162				// Resource name
14163				"Resources"?: string
14164
14165				// Retry duration
14166				"RetryDuration"?: string
14167			})
14168			...
14169		},
14170		{
14171			// Azure Function on Kubernetes
14172			//
14173			// Deploy Azure function to Kubernetes cluster.
14174			"task"!: null | bool | number | =~"^AzureFunctionOnKubernetes@0$" | [...] | {...}
14175
14176			// Azure Function on Kubernetes inputs
14177			"inputs"!: null |
14178			bool |
14179			number |
14180			string |
14181			[...] |
14182			close({
14183				// Docker registry service connection
14184				"dockerRegistryServiceConnection"!: string
14185
14186				// Kubernetes service connection
14187				"kubernetesServiceConnection"!: string
14188
14189				// Kubernetes namespace
14190				"namespace"?: string
14191
14192				// Secret Name
14193				"secretName"?: string
14194
14195				// Docker Hub namespace
14196				"dockerHubNamespace"?: string
14197
14198				// Application Name
14199				"appName"!: string
14200
14201				// Function root directory
14202				"functionRootDirectory"?: string
14203
14204				// Wait for stability
14205				"waitForStability"?: bool
14206
14207				// Arguments
14208				"arguments"?: string
14209			})
14210			...
14211		},
14212		{
14213			// Azure Function on Kubernetes
14214			//
14215			// Deploy Azure function to Kubernetes cluster.
14216			"task"!: null | bool | number | =~"^AzureFunctionOnKubernetes@1$" | [...] | {...}
14217
14218			// Azure Function on Kubernetes inputs
14219			"inputs"!: null |
14220			bool |
14221			number |
14222			string |
14223			[...] |
14224			close({
14225				// Service connection type
14226				"connectionType"?: "Azure Resource Manager" | "Kubernetes Service Connection"
14227
14228				// Docker registry service connection
14229				"dockerRegistryServiceConnection"!: string
14230
14231				// Kubernetes service connection
14232				"kubernetesServiceConnection"?: string
14233
14234				// Azure subscription
14235				"azureSubscriptionConnection"?: string
14236
14237				// Resource group
14238				"azureResourceGroup"?: string
14239
14240				// Kubernetes cluster
14241				"kubernetesCluster"?: string
14242
14243				// Kubernetes namespace
14244				"namespace"?: string
14245
14246				// Secret Name
14247				"secretName"?: string
14248
14249				// Docker Hub namespace
14250				"dockerHubNamespace"?: string
14251
14252				// Application Name
14253				"appName"!: string
14254
14255				// Function root directory
14256				"functionRootDirectory"?: string
14257
14258				// Wait for stability
14259				"waitForStability"?: bool
14260
14261				// Arguments
14262				"arguments"?: string
14263			})
14264			...
14265		},
14266		{
14267			// Shell script
14268			//
14269			// Run a shell script using Bash
14270			"task"!: null | bool | number | =~"^ShellScript@2$" | [...] | {...}
14271
14272			// Shell script inputs
14273			"inputs"!: null |
14274			bool |
14275			number |
14276			string |
14277			[...] |
14278			close({
14279				// Script Path
14280				"scriptPath"!: string
14281
14282				// Arguments
14283				"args"?: string
14284
14285				// Specify Working Directory
14286				"disableAutoCwd"?: bool
14287
14288				// Working Directory
14289				"cwd"?: string
14290
14291				// Fail on Standard Error
14292				"failOnStandardError"?: bool
14293			})
14294			...
14295		},
14296		{
14297			// Bash
14298			//
14299			// Run a Bash script on macOS, Linux, or Windows
14300			"task"!: null | bool | number | =~"^Bash@3$" | [...] | {...}
14301
14302			// Bash inputs
14303			"inputs"?: null |
14304			bool |
14305			number |
14306			string |
14307			[...] |
14308			close({
14309				// Type
14310				"targetType"?: "filePath" | "inline"
14311
14312				// Script Path
14313				"filePath"?: string
14314
14315				// Arguments
14316				"arguments"?: string
14317
14318				// Script
14319				"script"?: string
14320
14321				// Working Directory
14322				"workingDirectory"?: string
14323
14324				// Fail on Standard Error
14325				"failOnStderr"?: bool
14326
14327				// Set value for BASH_ENV environment variable
14328				"bashEnvValue"?: string
14329			})
14330			...
14331		},
14332		{
14333			// Publish build artifacts
14334			//
14335			// Publish build artifacts to Azure Pipelines or a Windows file share
14336			"task"!: null | bool | number | =~"^PublishBuildArtifacts@1$" | [...] | {...}
14337
14338			// Publish build artifacts inputs
14339			"inputs"?: null |
14340			bool |
14341			number |
14342			string |
14343			[...] |
14344			close({
14345				// Path to publish
14346				"PathtoPublish"?: string
14347
14348				// Artifact name
14349				"ArtifactName"?: string
14350
14351				// Artifact publish location
14352				"publishLocation"?: "Container" | "FilePath"
14353
14354				// Max Artifact Size
14355				"MaxArtifactSize"?: int
14356
14357				// File share path
14358				"TargetPath"?: string
14359
14360				// Parallel copy
14361				"Parallel"?: bool
14362
14363				// Parallel count
14364				"ParallelCount"?: int
14365
14366				// Tar the artifact before uploading
14367				"StoreAsTar"?: bool
14368			})
14369			...
14370		},
14371		{
14372			// Install SSH key
14373			//
14374			// Install an SSH key prior to a build or deployment
14375			"task"!: null | bool | number | =~"^InstallSSHKey@0$" | [...] | {...}
14376
14377			// Install SSH key inputs
14378			"inputs"!: null |
14379			bool |
14380			number |
14381			string |
14382			[...] |
14383			close({
14384				// Known Hosts Entry
14385				"knownHostsEntry"!: string
14386
14387				// SSH Public Key
14388				"sshPublicKey"?: string
14389
14390				// SSH Passphrase
14391				"sshPassphrase"?: string
14392
14393				// SSH Key
14394				"sshKeySecureFile"!: string
14395
14396				// Add entry to SSH config
14397				"addEntryToConfig"?: bool
14398
14399				// Alias
14400				"configHostAlias"?: string
14401
14402				// Host name
14403				"configHostname"?: string
14404
14405				// User
14406				"configUser"?: string
14407
14408				// Port
14409				"configPort"?: string
14410			})
14411			...
14412		},
14413		{
14414			// Azure VM scale set deployment
14415			//
14416			// Deploy a virtual machine scale set image
14417			"task"!: null | bool | number | =~"^AzureVmssDeployment@0$" | [...] | {...}
14418
14419			// Azure VM scale set deployment inputs
14420			"inputs"!: null |
14421			bool |
14422			number |
14423			string |
14424			[...] |
14425			close({
14426				// Azure subscription
14427				"azureSubscription"!: string
14428
14429				// Action
14430				"action"?: "Update image" | "Configure application startup"
14431
14432				// Virtual Machine scale set name
14433				"vmssName"!: string
14434
14435				// OS type
14436				"vmssOsType"!: "Windows" | "Linux"
14437
14438				// Image URL
14439				"imageUrl"!: string
14440
14441				// Custom script directory
14442				"customScriptsDirectory"?: string
14443
14444				// Command
14445				"customScript"?: string
14446
14447				// Arguments
14448				"customScriptArguments"?: string
14449
14450				// Azure storage account where custom scripts will be uploaded
14451				"customScriptsStorageAccount"?: string
14452
14453				// Skip Archiving custom scripts
14454				"skipArchivingCustomScripts"?: bool
14455			})
14456			...
14457		},
14458		{
14459			// Azure VM scale set deployment
14460			//
14461			// Deploy a virtual machine scale set image
14462			"task"!: null | bool | number | =~"^AzureVmssDeployment@1$" | [...] | {...}
14463
14464			// Azure VM scale set deployment inputs
14465			"inputs"!: null |
14466			bool |
14467			number |
14468			string |
14469			[...] |
14470			close({
14471				// Azure subscription
14472				"azureSubscription"!: string
14473
14474				// Action
14475				"action"?: "Update image" | "Configure application startup"
14476
14477				// Virtual Machine scale set name
14478				"vmssName"!: string
14479
14480				// OS type
14481				"vmssOsType"!: "Windows" | "Linux"
14482
14483				// Image URL
14484				"imageUrl"!: string
14485
14486				// Custom script directory
14487				"customScriptsDirectory"?: string
14488
14489				// Command
14490				"customScript"?: string
14491
14492				// Arguments
14493				"customScriptArguments"?: string
14494
14495				// Azure storage account where custom scripts will be uploaded
14496				"customScriptsStorageAccount"?: string
14497
14498				// Skip Archiving custom scripts
14499				"skipArchivingCustomScripts"?: bool
14500			})
14501			...
14502		},
14503		{
14504			// Azure App Service: Classic (Deprecated)
14505			//
14506			// Create or update Azure App Service using Azure PowerShell
14507			"task"!: null | bool | number | =~"^AzureWebPowerShellDeployment@1$" | [...] | {...}
14508
14509			// Azure App Service: Classic (Deprecated) inputs
14510			"inputs"!: null |
14511			bool |
14512			number |
14513			string |
14514			[...] |
14515			close({
14516				// Azure Subscription (Classic)
14517				"ConnectedServiceName"!: string
14518
14519				// Web App Location
14520				"WebSiteLocation"!: string
14521
14522				// Web App Name
14523				"WebSiteName"!: string
14524
14525				// Slot
14526				"Slot"?: string
14527
14528				// Web Deploy Package
14529				"Package"!: string
14530
14531				// Set DoNotDelete flag
14532				"doNotDelete"?: bool
14533
14534				// Additional Arguments
14535				"AdditionalArguments"?: string
14536			})
14537			...
14538		},
14539		{
14540			// Conda authenticate (for task runners)
14541			//
14542			// Authentication task for the conda client
14543			"task"!: null | bool | number | =~"^CondaAuthenticate@0$" | [...] | {...}
14544
14545			// Conda authenticate (for task runners) inputs
14546			"inputs"?: null |
14547			bool |
14548			number |
14549			string |
14550			[...] |
14551			close({
14552				// 'Azure DevOps' Service Connection
14553				"azureDevOpsServiceConnection"?: string
14554			})
14555			...
14556		},
14557		{
14558			// Azure Cloud Service deployment
14559			//
14560			// Deploy an Azure Cloud Service
14561			"task"!: null | bool | number | =~"^AzureCloudPowerShellDeployment@2$" | [...] | {...}
14562
14563			// Azure Cloud Service deployment inputs
14564			"inputs"!: null |
14565			bool |
14566			number |
14567			string |
14568			[...] |
14569			close({
14570				// Azure subscription (ARM)
14571				"ARMConnectedServiceName"!: string
14572
14573				// Resource group
14574				"ResourceGroupName"!: string
14575
14576				// Storage account (ARM)
14577				"ARMStorageAccount"!: string
14578
14579				// Service name
14580				"ServiceName"!: string
14581
14582				// Service location
14583				"ServiceLocation"!: string
14584
14585				// CsCfg
14586				"CsCfg"!: string
14587
14588				// CsDef
14589				"CsDef"!: string
14590
14591				// CsPkg
14592				"CsPkg"!: string
14593
14594				// Azure KeyVault
14595				"KeyVault"?: string
14596
14597				// Deployment label
14598				"DeploymentLabel"?: string
14599
14600				// Append current date and time
14601				"AppendDateTimeToLabel"?: bool
14602
14603				// Update mode for the cloud service
14604				"UpgradeMode"?: string
14605
14606				// Allow upgrade
14607				"AllowUpgrade"?: bool
14608
14609				// Verify role instance status
14610				"VerifyRoleInstanceStatus"?: bool
14611
14612				// Diagnostic storage account keys
14613				"DiagnosticStorageAccountKeys"?: string
14614			})
14615			...
14616		},
14617		{
14618			// Azure Cloud Service deployment
14619			//
14620			// Deploy an Azure Cloud Service
14621			"task"!: null | bool | number | =~"^AzureCloudPowerShellDeployment@1$" | [...] | {...}
14622
14623			// Azure Cloud Service deployment inputs
14624			"inputs"!: null |
14625			bool |
14626			number |
14627			string |
14628			[...] |
14629			close({
14630				// Azure subscription (Classic)
14631				"azureClassicSubscription"!: string
14632
14633				// Enable ARM storage support
14634				"EnableAdvancedStorageOptions"?: bool
14635
14636				// Storage account (Classic)
14637				"StorageAccount"?: string
14638
14639				// Azure subscription (ARM)
14640				"ARMConnectedServiceName"?: string
14641
14642				// Storage account (ARM)
14643				"ARMStorageAccount"?: string
14644
14645				// Service name
14646				"ServiceName"!: string
14647
14648				// Service location
14649				"ServiceLocation"!: string
14650
14651				// CsPkg
14652				"CsPkg"!: string
14653
14654				// CsCfg
14655				"CsCfg"!: string
14656
14657				// Environment (Slot)
14658				"slotName"?: string
14659
14660				// Deployment label
14661				"DeploymentLabel"?: string
14662
14663				// Append current date and time
14664				"AppendDateTimeToLabel"?: bool
14665
14666				// Allow upgrade
14667				"AllowUpgrade"?: bool
14668
14669				// Simultaneous upgrade
14670				"SimultaneousUpgrade"?: bool
14671
14672				// Force upgrade
14673				"ForceUpgrade"?: bool
14674
14675				// Verify role instance status
14676				"VerifyRoleInstanceStatus"?: bool
14677
14678				// Diagnostic storage account keys
14679				"DiagnosticStorageAccountKeys"?: string
14680
14681				// Custom certificates to import
14682				"NewServiceCustomCertificates"?: string
14683
14684				// Additional arguments
14685				"NewServiceAdditionalArguments"?: string
14686
14687				// Affinity group
14688				"NewServiceAffinityGroup"?: string
14689			})
14690			...
14691		},
14692		{
14693			// Cargo authenticate (for task runners)
14694			//
14695			// Authentication task for the cargo client used for installing Cargo crates distribution
14696			"task"!: null | bool | number | =~"^CargoAuthenticate@0$" | [...] | {...}
14697
14698			// Cargo authenticate (for task runners) inputs
14699			"inputs"!: null |
14700			bool |
14701			number |
14702			string |
14703			[...] |
14704			close({
14705				// 'Azure DevOps' Service Connection
14706				"azureDevOpsServiceConnection"?: string
14707
14708				// Registry names from config.toml
14709				"registryNames"?: string
14710
14711				// config.toml file to authenticate
14712				"configFile"!: string
14713
14714				// Credentials for registries outside this organization/collection
14715				"cargoServiceConnections"?: string
14716			})
14717			...
14718		},
14719		{
14720			// Delete files
14721			//
14722			// Delete folders, or files matching a pattern
14723			"task"!: null | bool | number | =~"^DeleteFiles@1$" | [...] | {...}
14724
14725			// Delete files inputs
14726			"inputs"?: null |
14727			bool |
14728			number |
14729			string |
14730			[...] |
14731			close({
14732				// Source Folder
14733				"SourceFolder"?: string
14734
14735				// Contents
14736				"Contents"?: string
14737
14738				// Remove SourceFolder
14739				"RemoveSourceFolder"?: bool
14740
14741				// Remove files starting with a dot
14742				"RemoveDotFiles"?: bool
14743			})
14744			...
14745		},
14746		{
14747			// gulp
14748			//
14749			// Run the gulp Node.js streaming task-based build system
14750			"task"!: null | bool | number | =~"^gulp@0$" | [...] | {...}
14751
14752			// gulp inputs
14753			"inputs"?: null |
14754			bool |
14755			number |
14756			string |
14757			[...] |
14758			close({
14759				// gulp File Path
14760				"gulpFile"?: string
14761
14762				// gulp Task(s)
14763				"targets"?: string
14764
14765				// Arguments
14766				"arguments"?: string
14767
14768				// Working Directory
14769				"workingDirectory"?: string
14770
14771				// gulp.js location
14772				"gulpjs"?: string
14773
14774				// Publish to Azure Pipelines
14775				"publishJUnitResults"?: bool
14776
14777				// Test Results Files
14778				"testResultsFiles"?: string
14779
14780				// Test Run Title
14781				"testRunTitle"?: string
14782
14783				// Enable code Coverage
14784				"enableCodeCoverage"?: bool
14785
14786				// Test Framework
14787				"testFramework"?: "Mocha" | "Jasmine"
14788
14789				// Source Files
14790				"srcFiles"?: string
14791
14792				// Test Script Files
14793				"testFiles"?: string
14794			})
14795			...
14796		},
14797		{
14798			// gulp
14799			//
14800			// Run the gulp Node.js streaming task-based build system
14801			"task"!: null | bool | number | =~"^gulp@1$" | [...] | {...}
14802
14803			// gulp inputs
14804			"inputs"?: null |
14805			bool |
14806			number |
14807			string |
14808			[...] |
14809			close({
14810				// gulp File Path
14811				"gulpFile"?: string
14812
14813				// gulp Task(s)
14814				"targets"?: string
14815
14816				// Arguments
14817				"arguments"?: string
14818
14819				// Working Directory
14820				"workingDirectory"?: string
14821
14822				// gulp.js location
14823				"gulpjs"?: string
14824
14825				// Publish to Azure Pipelines
14826				"publishJUnitResults"?: bool
14827
14828				// Test Results Files
14829				"testResultsFiles"?: string
14830
14831				// Test Run Title
14832				"testRunTitle"?: string
14833
14834				// Enable code Coverage
14835				"enableCodeCoverage"?: bool
14836
14837				// Test Framework
14838				"testFramework"?: "Mocha" | "Jasmine"
14839
14840				// Source Files
14841				"srcFiles"?: string
14842
14843				// Test Script Files
14844				"testFiles"?: string
14845			})
14846			...
14847		},
14848		{
14849			// IIS web app manage
14850			//
14851			// Create or update websites, web apps, virtual directories, or application pools
14852			"task"!: null | bool | number | =~"^IISWebAppManagementOnMachineGroup@0$" | [...] | {...}
14853
14854			// IIS web app manage inputs
14855			"inputs"!: null |
14856			bool |
14857			number |
14858			string |
14859			[...] |
14860			close({
14861				// Enable IIS
14862				"EnableIIS"?: bool
14863
14864				// Configuration type
14865				"IISDeploymentType"?: "IISWebsite" | "IISWebApplication" | "IISVirtualDirectory" | "IISApplicationPool"
14866
14867				// Action
14868				"ActionIISWebsite"?: "CreateOrUpdateWebsite" | "StartWebsite" | "StopWebsite"
14869
14870				// Action
14871				"ActionIISApplicationPool"?: "CreateOrUpdateAppPool" | "StartAppPool" | "StopAppPool" | "RecycleAppPool"
14872
14873				// Website name
14874				"StartStopWebsiteName"?: string
14875
14876				// Website name
14877				"WebsiteName"!: string
14878
14879				// Physical path
14880				"WebsitePhysicalPath"?: string
14881
14882				// Physical path authentication
14883				"WebsitePhysicalPathAuth"?: "WebsiteUserPassThrough" | "WebsiteWindowsAuth"
14884
14885				// Username
14886				"WebsiteAuthUserName"?: string
14887
14888				// Password
14889				"WebsiteAuthUserPassword"?: string
14890
14891				// Add binding
14892				"AddBinding"?: bool
14893
14894				// Protocol
14895				"Protocol"?: "https" | "http"
14896
14897				// IP address
14898				"IPAddress"?: string
14899
14900				// Port
14901				"Port"?: string
14902
14903				// Server Name Indication required
14904				"ServerNameIndication"?: bool
14905
14906				// Host name
14907				"HostNameWithOutSNI"?: string
14908
14909				// Host name
14910				"HostNameWithHttp"?: string
14911
14912				// Host name
14913				"HostNameWithSNI"?: string
14914
14915				// SSL certificate thumbprint
14916				"SSLCertThumbPrint"?: string
14917
14918				// Add bindings
14919				"Bindings"!: string
14920
14921				// Create or update app pool
14922				"CreateOrUpdateAppPoolForWebsite"?: bool
14923
14924				// Configure authentication
14925				"ConfigureAuthenticationForWebsite"?: bool
14926
14927				// Name
14928				"AppPoolNameForWebsite"!: string
14929
14930				// .NET version
14931				"DotNetVersionForWebsite"?: "v4.0" | "v2.0" | "No Managed Code"
14932
14933				// Managed pipeline mode
14934				"PipeLineModeForWebsite"?: "Integrated" | "Classic"
14935
14936				// Identity
14937				"AppPoolIdentityForWebsite"?: "ApplicationPoolIdentity" |
14938					"LocalService" |
14939					"LocalSystem" |
14940					"NetworkService" |
14941					"SpecificUser"
14942
14943				// Username
14944				"AppPoolUsernameForWebsite"?: string
14945
14946				// Password
14947				"AppPoolPasswordForWebsite"?: string
14948
14949				// Anonymous authentication
14950				"AnonymousAuthenticationForWebsite"?: bool
14951
14952				// Basic authentication
14953				"BasicAuthenticationForWebsite"?: bool
14954
14955				// Windows authentication
14956				"WindowsAuthenticationForWebsite"?: bool
14957
14958				// Parent website name
14959				"ParentWebsiteNameForVD"!: string
14960
14961				// Virtual path
14962				"VirtualPathForVD"!: string
14963
14964				// Physical path
14965				"PhysicalPathForVD"?: string
14966
14967				// Physical path authentication
14968				"VDPhysicalPathAuth"?: "VDUserPassThrough" | "VDWindowsAuth"
14969
14970				// Username
14971				"VDAuthUserName"?: string
14972
14973				// Password
14974				"VDAuthUserPassword"?: string
14975
14976				// Parent website name
14977				"ParentWebsiteNameForApplication"!: string
14978
14979				// Virtual path
14980				"VirtualPathForApplication"!: string
14981
14982				// Physical path
14983				"PhysicalPathForApplication"?: string
14984
14985				// Physical path authentication
14986				"ApplicationPhysicalPathAuth"?: "ApplicationUserPassThrough" | "ApplicationWindowsAuth"
14987
14988				// Username
14989				"ApplicationAuthUserName"?: string
14990
14991				// Password
14992				"ApplicationAuthUserPassword"?: string
14993
14994				// Create or update app pool
14995				"CreateOrUpdateAppPoolForApplication"?: bool
14996
14997				// Name
14998				"AppPoolNameForApplication"!: string
14999
15000				// .NET version
15001				"DotNetVersionForApplication"?: "v4.0" | "v2.0" | "No Managed Code"
15002
15003				// Managed pipeline mode
15004				"PipeLineModeForApplication"?: "Integrated" | "Classic"
15005
15006				// Identity
15007				"AppPoolIdentityForApplication"?: "ApplicationPoolIdentity" |
15008					"LocalService" |
15009					"LocalSystem" |
15010					"NetworkService" |
15011					"SpecificUser"
15012
15013				// Username
15014				"AppPoolUsernameForApplication"?: string
15015
15016				// Password
15017				"AppPoolPasswordForApplication"?: string
15018
15019				// Name
15020				"AppPoolName"!: string
15021
15022				// .NET version
15023				"DotNetVersion"?: "v4.0" | "v2.0" | "No Managed Code"
15024
15025				// Managed pipeline mode
15026				"PipeLineMode"?: "Integrated" | "Classic"
15027
15028				// Identity
15029				"AppPoolIdentity"?: "ApplicationPoolIdentity" |
15030					"LocalService" |
15031					"LocalSystem" |
15032					"NetworkService" |
15033					"SpecificUser"
15034
15035				// Username
15036				"AppPoolUsername"?: string
15037
15038				// Password
15039				"AppPoolPassword"?: string
15040
15041				// Application pool name
15042				"StartStopRecycleAppPoolName"?: string
15043
15044				// Additional appcmd.exe commands
15045				"AppCmdCommands"?: string
15046			})
15047			...
15048		},
15049		{
15050			// Docker CLI installer
15051			//
15052			// Install Docker CLI on agent machine.
15053			"task"!: null | bool | number | =~"^DockerInstaller@0$" | [...] | {...}
15054
15055			// Docker CLI installer inputs
15056			"inputs"?: null |
15057			bool |
15058			number |
15059			string |
15060			[...] |
15061			close({
15062				// Docker Version
15063				"dockerVersion"?: string
15064
15065				// Release type
15066				"releaseType"?: "stable" | "edge" | "test" | "nightly"
15067			})
15068			...
15069		}
15070	]) & close({
15071		"task"?: matchN(>=1, [
15072			"PowerShell@2",
15073			"PowerShell@1",
15074			"AzurePowerShell@5",
15075			"AzurePowerShell@4",
15076			"AzurePowerShell@1",
15077			"AzurePowerShell@5",
15078			"AzurePowerShell@2",
15079			"MysqlDeploymentOnMachineGroup@1",
15080			"PipAuthenticate@1",
15081			"PipAuthenticate@0",
15082			"Maven@4",
15083			"Maven@2",
15084			"Maven@3",
15085			"Maven@1",
15086			"DotNetCoreCLI@2",
15087			"DotNetCoreCLI@0",
15088			"DotNetCoreCLI@1",
15089			"XamarinComponentRestore@0",
15090			"AzureRmWebAppDeployment@4",
15091			"AzureRmWebAppDeployment@2",
15092			"AzureRmWebAppDeployment@5",
15093			"AzureRmWebAppDeployment@3",
15094			"PowerShellOnTargetMachines@3",
15095			"PowerShellOnTargetMachines@1",
15096			"PowerShellOnTargetMachines@2",
15097			"PowerShellOnTargetMachines@2",
15098			"PublishCodeCoverageResults@2",
15099			"PublishCodeCoverageResults@1",
15100			"RunVisualStudioTestsusingTestAgent@1",
15101			"ManualIntervention@8",
15102			"InstallAppleProvisioningProfile@1",
15103			"InstallAppleProvisioningProfile@0",
15104			"SonarQubePostTest@1",
15105			"PyPIPublisher@0",
15106			"ChefKnife@1",
15107			"GoTool@0",
15108			"XcodePackageiOS@0",
15109			"Go@0",
15110			"PublishPipelineMetadata@0",
15111			"Docker@0",
15112			"Docker@2",
15113			"Docker@1",
15114			"JenkinsQueueJob@1",
15115			"JenkinsQueueJob@2",
15116			"FtpUpload@2",
15117			"FtpUpload@1",
15118			"WindowsMachineFileCopy@2",
15119			"WindowsMachineFileCopy@1",
15120			"AndroidBuild@1",
15121			"TwineAuthenticate@1",
15122			"TwineAuthenticate@0",
15123			"IISWebAppDeploymentOnMachineGroup@0",
15124			"PythonScript@0",
15125			"HelmInstaller@0",
15126			"HelmInstaller@1",
15127			"NodeTaskRunnerInstaller@0",
15128			"XamarinLicense@1",
15129			"NuGetAuthenticate@0",
15130			"NuGetAuthenticate@1",
15131			"DownloadGitHubNugetPackage@1",
15132			"MavenAuthenticate@0",
15133			"AzureAppConfigurationExport@10",
15134			"ReviewApp@0",
15135			"JavaToolInstaller@0",
15136			"JavaToolInstaller@1",
15137			"Chef@1",
15138			"AzureFunctionApp@1",
15139			"AzureFunctionApp@2",
15140			"npmAuthenticate@0",
15141			"MSBuild@1",
15142			"PackerBuild@0",
15143			"PackerBuild@1",
15144			"NuGetPackager@0",
15145			"AzureAppConfigurationSnapshot@1",
15146			"DuffleInstaller@0",
15147			"ServiceFabricUpdateAppVersions@1",
15148			"ServiceFabricUpdateManifests@2",
15149			"AzureMonitor@1",
15150			"AzureMonitor@0",
15151			"Notation@0",
15152			"AzureNLBManagement@1",
15153			"DockerCompose@0",
15154			"DockerCompose@1",
15155			"AzureMonitorAlerts@0",
15156			"XamarinTestCloud@1",
15157			"ServiceFabricDeploy@1",
15158			"Xcode@5",
15159			"Xcode@3",
15160			"Xcode@4",
15161			"Xcode@2",
15162			"NuGetPublisher@0",
15163			"queryWorkItems@0",
15164			"AzureWebAppContainer@1",
15165			"SqlDacpacDeploymentOnMachineGroup@0",
15166			"CacheBeta@1",
15167			"CacheBeta@0",
15168			"Cache@2",
15169			"CMake@1",
15170			"VSMobileCenterTest@0",
15171			"AppCenterTest@1",
15172			"DownloadSecureFile@1",
15173			"AzureContainerApps@0",
15174			"AzureContainerApps@1",
15175			"UseRubyVersion@0",
15176			"Grunt@0",
15177			"SqlAzureDacpacDeployment@1",
15178			"ContainerStructureTest@0",
15179			"IISWebAppDeployment@1",
15180			"KubectlInstaller@0",
15181			"CmdLine@2",
15182			"CmdLine@1",
15183			"NuGet@0",
15184			"ContainerBuild@0",
15185			"NuGetInstaller@0",
15186			"NuGetRestore@1",
15187			"NuGetCommand@2",
15188			"Delay@1",
15189			"XamariniOS@1",
15190			"XamariniOS@2",
15191			"PublishTestResults@2",
15192			"PublishTestResults@1",
15193			"AzureFileCopy@6",
15194			"AzureFileCopy@4",
15195			"AzureFileCopy@5",
15196			"AzureFileCopy@2",
15197			"AzureFileCopy@3",
15198			"AzureFileCopy@1",
15199			"PublishSymbols@2",
15200			"PublishSymbols@1",
15201			"CopyFilesOverSSH@0",
15202			"Gradle@2",
15203			"Gradle@3",
15204			"Gradle@4",
15205			"Gradle@1",
15206			"AzureTestPlan@0",
15207			"AppCenterDistribute@1",
15208			"AppCenterDistribute@2",
15209			"AppCenterDistribute@3",
15210			"AppCenterDistribute@0",
15211			"NuGetToolInstaller@0",
15212			"NuGetToolInstaller@1",
15213			"JenkinsDownloadArtifacts@2",
15214			"JenkinsDownloadArtifacts@1",
15215			"JenkinsDownloadArtifacts@2",
15216			"AzureFunctionAppContainer@1",
15217			"DecryptFile@1",
15218			"HelmDeploy@1",
15219			"HelmDeploy@0",
15220			"InstallAppleCertificate@2",
15221			"InstallAppleCertificate@1",
15222			"InstallAppleCertificate@0",
15223			"AzureFunction@1",
15224			"AzureFunction@0",
15225			"OpenPolicyAgentInstaller@0",
15226			"DownloadGitHubRelease@0",
15227			"SSH@0",
15228			"PublishPipelineArtifact@0",
15229			"PublishPipelineArtifact@1",
15230			"SonarQubePreBuild@1",
15231			"DownloadFileshareArtifacts@1",
15232			"Kubernetes@1",
15233			"Kubernetes@0",
15234			"AzureIoTEdge@2",
15235			"ServiceFabricComposeDeploy@0",
15236			"AndroidSigning@1",
15237			"AndroidSigning@2",
15238			"AndroidSigning@3",
15239			"DownloadPipelineArtifact@0",
15240			"DownloadPipelineArtifact@2",
15241			"DownloadPipelineArtifact@1",
15242			"UsePythonVersion@0",
15243			"ServiceFabricPowerShell@1",
15244			"VSTest@2",
15245			"VSTest@3",
15246			"VSTest@1",
15247			"ManualValidation@1",
15248			"ManualValidation@0",
15249			"Ant@1",
15250			"DeployVisualStudioTestAgent@2",
15251			"DeployVisualStudioTestAgent@1",
15252			"CondaEnvironment@0",
15253			"CondaEnvironment@1",
15254			"BatchScript@1",
15255			"DownloadGithubNpmPackage@1",
15256			"VSBuild@1",
15257			"AzureKeyVault@1",
15258			"AzureKeyVault@2",
15259			"UseDotNet@2",
15260			"DotNetCoreInstaller@0",
15261			"DotNetCoreInstaller@1",
15262			"UseDotNet@2",
15263			"AzureAppConfigurationImport@10",
15264			"AzureAppServiceManage@0",
15265			"KubeloginInstaller@0",
15266			"FuncToolsInstaller@0",
15267			"FileTransform@2",
15268			"FileTransform@1",
15269			"ExtractFiles@1",
15270			"XamarinAndroid@1",
15271			"CopyPublishBuildArtifacts@1",
15272			"DownloadPackage@0",
15273			"DownloadPackage@1",
15274			"AzureResourceGroupDeployment@1",
15275			"AzureResourceGroupDeployment@2",
15276			"AzureResourceManagerTemplateDeployment@3",
15277			"InvokeRESTAPI@0",
15278			"InvokeRESTAPI@1",
15279			"ArchiveFiles@1",
15280			"ArchiveFiles@2",
15281			"GitHubComment@0",
15282			"CopyFiles@2",
15283			"CopyFiles@1",
15284			"AzureMysqlDeployment@1",
15285			"Npm@1",
15286			"Npm@0",
15287			"AzureStaticWebApp@0",
15288			"UseNode@1",
15289			"NodeTool@0",
15290			"SqlServerDacpacDeployment@1",
15291			"VisualStudioTestPlatformInstaller@1",
15292			"PublishToAzureServiceBus@1",
15293			"PublishToAzureServiceBus@2",
15294			"PublishToAzureServiceBus@0",
15295			"KubernetesManifest@0",
15296			"KubernetesManifest@1",
15297			"DownloadBuildArtifacts@0",
15298			"DownloadBuildArtifacts@1",
15299			"CocoaPods@0",
15300			"AzureSpringCloud@0",
15301			"AzureWebApp@1",
15302			"AzureCLI@1",
15303			"AzureCLI@2",
15304			"AzureCLI@0",
15305			"AzureCLI@2",
15306			"GitHubRelease@1",
15307			"GitHubRelease@0",
15308			"cURLUploader@1",
15309			"cURLUploader@2",
15310			"AzureAppServiceSettings@1",
15311			"UniversalPackages@0",
15312			"AzurePolicyCheckGate@0",
15313			"AzureFunctionOnKubernetes@0",
15314			"AzureFunctionOnKubernetes@1",
15315			"ShellScript@2",
15316			"Bash@3",
15317			"PublishBuildArtifacts@1",
15318			"InstallSSHKey@0",
15319			"AzureVmssDeployment@0",
15320			"AzureVmssDeployment@1",
15321			"AzureWebPowerShellDeployment@1",
15322			"CondaAuthenticate@0",
15323			"AzureCloudPowerShellDeployment@2",
15324			"AzureCloudPowerShellDeployment@1",
15325			"CargoAuthenticate@0",
15326			"DeleteFiles@1",
15327			"gulp@0",
15328			"gulp@1",
15329			"IISWebAppManagementOnMachineGroup@0",
15330			"DockerInstaller@0",
15331		])
15332
15333		// Human-readable name for the task
15334		"displayName"?: string
15335
15336		// ID of the task instance
15337		"name"?: =~"^[_A-Za-z0-9]*$"
15338
15339		// Evaluate this condition expression to determine whether to run this task
15340		"condition"?: string
15341
15342		// Continue running the parent job even on failure?
15343		"continueOnError"?: bool
15344
15345		// Run this task when the job runs?
15346		"enabled"?: string
15347
15348		// Number of retries if the task fails
15349		"retryCountOnTaskFailure"?: int
15350
15351		// Time to wait for this task to complete before the server kills it
15352		"timeoutInMinutes"?: int
15353
15354		// Task-specific inputs
15355		"inputs"?: {...}
15356
15357		// Variables to map into the process's environment
15358		"env"?: {...}
15359	})
15360
15361	#taskBase: close({
15362		"condition"?:               #string
15363		"continueOnError"?:         #boolean
15364		"displayName"?:             #string
15365		"target"?:                  #stepTarget
15366		"enabled"?:                 #boolean
15367		"env"?:                     #mappingOfStringString
15368		"name"?:                    #referenceName
15369		"timeoutInMinutes"?:        #nonEmptyString
15370		"retryCountOnTaskFailure"?: #string
15371	})
15372
15373	#tasks: [...#task]
15374
15375	#templateContext: {...}
15376
15377	#templateParameter: close({
15378		"name"?:        #nonEmptyString
15379		"displayName"?: #string
15380		"type"?:        #templateParameterType
15381		"default"?:     #any
15382		"values"?:      #sequenceOfNonEmptyString
15383	})
15384
15385	#templateParameterType: matchN(>=1, [
15386		=~"^boolean$",
15387		=~"^container$",
15388		=~"^containerList$",
15389		=~"^deployment$",
15390		=~"^deploymentList$",
15391		=~"^job$",
15392		=~"^jobList$",
15393		=~"^legacyObject$",
15394		=~"^number$",
15395		=~"^object$",
15396		=~"^stage$",
15397		=~"^stageList$",
15398		=~"^step$",
15399		=~"^stepList$",
15400		=~"^string$",
15401		=~"^stringList$",
15402	])
15403
15404	#templateParameters: matchN(>=1, [[...#templateParameter], {...}])
15405
15406	#trigger: matchN(>=1, [
15407		=~"^none$",
15408		[...#branchFilter], close({
15409			"batch"?:    #boolean
15410			"branches"?: #includeExcludeFilters
15411			"paths"?:    #includeExcludeFilters
15412			"tags"?:     #includeExcludeFilters
15413		})
15414	])
15415
15416	#triggerBranchFilter: matchN(>=1, [close({
15417		"include"?: #branchFilterArray
15418		"exclude"?: #branchFilterArray
15419	}), [
15420		...#branchFilter
15421	]])
15422
15423	#variable: matchN(>=1, [close({
15424		"name"?:     #nonEmptyString
15425		"value"?:    #string
15426		"readonly"?: #boolean
15427	}), close(
15428		{"group"?: #nonEmptyString},
15429	), close({
15430		"template"?:   #nonEmptyString
15431		"parameters"?: #mapping
15432	})])
15433
15434	#variableRestrictions: matchN(>=1, [=~"^none$", [...#nonEmptyString]])
15435
15436	#variables: matchN(>=1, [{...}, [...#variable]])
15437
15438	#variablesTemplate: close({
15439		"parameters"?: #templateParameters
15440		"variables"?:  #variables
15441	})
15442
15443	#webhookFilter: close({
15444		"path"!:  #nonEmptyString
15445		"value"!: #nonEmptyString
15446	})
15447
15448	#webhookFilters: [...#webhookFilter]
15449
15450	#webhookResource: close({
15451		"webhook"!:    #referenceName
15452		"connection"!: #nonEmptyString
15453		"type"?:       #nonEmptyString
15454		"filters"?:    #webhookFilters
15455	})
15456
15457	#webhookResources: [...#webhookResource]
15458}