-
Notifications
You must be signed in to change notification settings - Fork 2.6k
/
Copy pathtask.json
427 lines (427 loc) · 29.2 KB
/
task.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
{
"id": "94A74903-F93F-4075-884F-DC11F34058B4",
"name": "AzureResourceGroupDeployment",
"friendlyName": "Azure Resource Group Deployment",
"description": "Deploy an Azure resource manager (ARM) template to a resource group. You can also start, stop, delete, deallocate all Virtual Machines (VM) in a resource group",
"helpMarkDown": "[More Information](https://aka.ms/argtaskreadme)",
"category": "Deploy",
"releaseNotes": "-Works with cross-platform agents (Linux, macOS, or Windows)\n- Supports Template JSONs located at any publicly accessible http/https URLs.\n- Enhanced UX for Override parameters which can now be viewed/edited in a grid.\n- NAT rule mapping for VMs which are backed by an Load balancer.\n- \"Resource group\" field is now renamed as \"VM details for WinRM\" and is included in the section \"Advanced deployment options for virtual machines\".\n- Limitations: \n - No support for Classic subscriptions. Only for ARM subscriptions are supported.\n - No support for PowerShell syntax as the task is now node.js based. Ensure the case sensitivity of the parameter names match, when you override the template parameters. Also, remove the PowerShell cmdlets like \"ConvertTo-SecureString\" when you migrate from version 1.0 to version 2.0.",
"visibility": [
"Build",
"Release"
],
"author": "Microsoft Corporation",
"version": {
"Major": 2,
"Minor": 134,
"Patch": 0
},
"demands": [],
"minimumAgentVersion": "2.119.1",
"groups": [
{
"name": "AzureDetails",
"displayName": "Azure Details",
"isExpanded": true
},
{
"name": "Template",
"displayName": "Template",
"isExpanded": true,
"visibleRule": "action = Create Or Update Resource Group"
},
{
"name": "AdvancedDeploymentOptions",
"displayName": "Advanced deployment options for virtual machines",
"isExpanded": true,
"visibleRule": "action = Create Or Update Resource Group || action = Select Resource Group"
},
{
"name": "Outputs",
"displayName": "Outputs",
"isExpanded": true,
"visibleRule": "action = Create Or Update Resource Group"
}
],
"inputs": [
{
"name": "ConnectedServiceName",
"aliases": [
"azureSubscription"
],
"type": "connectedService:AzureRM",
"label": "Azure subscription",
"defaultValue": "",
"required": true,
"groupName": "AzureDetails",
"helpMarkDown": "Select the Azure Resource Manager subscription for the deployment."
},
{
"name": "action",
"type": "pickList",
"label": "Action",
"defaultValue": "Create Or Update Resource Group",
"required": true,
"groupName": "AzureDetails",
"helpMarkDown": "Action to be performed on the Azure resources or resource group.",
"options": {
"Create Or Update Resource Group": "Create or update resource group",
"Select Resource Group": "Configure virtual machine deployment options",
"Start": "Start virtual machines",
"Stop": "Stop virtual machines",
"StopWithDeallocate": "Stop and deallocate virtual machines",
"Restart": "Restart virtual machines",
"Delete": "Delete virtual machines",
"DeleteRG": "Delete resource group"
}
},
{
"name": "resourceGroupName",
"type": "pickList",
"label": "Resource group",
"required": true,
"groupName": "AzureDetails",
"helpMarkDown": "Provide the name of a resource group.",
"properties": {
"EditableOptions": "True"
}
},
{
"name": "location",
"type": "pickList",
"label": "Location",
"required": true,
"helpMarkDown": "Location for deploying the resource group. If the resource group already exists in the subscription, then this value will be ignored.",
"groupName": "AzureDetails",
"properties": {
"EditableOptions": "True"
},
"visibleRule": "action = Create Or Update Resource Group"
},
{
"name": "templateLocation",
"type": "pickList",
"label": "Template location",
"required": true,
"defaultValue": "Linked artifact",
"groupName": "Template",
"options": {
"Linked artifact": "Linked artifact",
"URL of the file": "URL of the file"
}
},
{
"name": "csmFileLink",
"type": "string",
"label": "Template link",
"defaultValue": "",
"required": true,
"groupName": "Template",
"helpMarkDown": "Specify the URL of the template file. Example: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json) \n\nTo deploy a template stored in a private storage account, retrieve and include the shared access signature (SAS) token in the URL of the template. Example: `<blob_storage_url>/template.json?<SAStoken>` To upload a template file (or a linked template) to a storage account and generate a SAS token, you could use [Azure file copy](https://aka.ms/azurefilecopyreadme) task or follow the steps using [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) or [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911).\n\nTo view the template parameters in a grid, click on “…” next to Override template parameters text box. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS.",
"visibleRule": "templateLocation = URL of the file"
},
{
"name": "csmParametersFileLink",
"type": "string",
"label": "Template parameters link",
"defaultValue": "",
"required": false,
"groupName": "Template",
"helpMarkDown": "Specify the URL of the parameters file. Example: [https://raw.githubusercontent.com/Azure/...](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json) \n\nTo use a file stored in a private storage account, retrieve and include the shared access signature (SAS) token in the URL of the template. Example: `<blob_storage_url>/template.json?<SAStoken>` To upload a parameters file to a storage account and generate a SAS token, you could use [Azure file copy](https://aka.ms/azurefilecopyreadme) task or follow the steps using [PowerShell](https://go.microsoft.com/fwlink/?linkid=838080) or [Azure CLI](https://go.microsoft.com/fwlink/?linkid=836911). \n\nTo view the template parameters in a grid, click on “…” next to Override template parameters text box. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS.",
"visibleRule": " templateLocation = URL of the file"
},
{
"name": "csmFile",
"type": "filePath",
"label": "Template",
"defaultValue": "",
"required": true,
"groupName": "Template",
"visibleRule": " templateLocation = Linked artifact",
"helpMarkDown": "Specify the path or a pattern pointing to the Azure Resource Manager template. For more information about the templates see https://aka.ms/azuretemplates. To get started immediately use template https://aka.ms/sampletemplate."
},
{
"name": "csmParametersFile",
"type": "filePath",
"label": "Template parameters",
"defaultValue": "",
"required": false,
"groupName": "Template",
"helpMarkDown": "Specify the path or a pattern pointing for the parameters file for the Azure Resource Manager template.",
"visibleRule": " templateLocation = Linked artifact"
},
{
"name": "overrideParameters",
"type": "multiLine",
"label": "Override template parameters",
"defaultValue": "",
"required": false,
"groupName": "Template",
"helpMarkDown": "To view the template parameters in a grid, click on “…” next to Override Parameters textbox. This feature requires that CORS rules are enabled at the source. If templates are in Azure storage blob, refer to [this](https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/Cross-Origin-Resource-Sharing--CORS--Support-for-the-Azure-Storage-Services?redirectedfrom=MSDN#understanding-cors-requests) to enable CORS. Or type the template parameters to override in the textbox. Example, <br>–storageName fabrikam –adminUsername $(vmusername) -adminPassword $(password) –azureKeyVaultName $(fabrikamFibre).<br>If the parameter value you're using has multiple words, enclose them in quotes, even if you're passing them using variables. For example, -name \"parameter value\" -name2 \"$(var)\"<br>To override object type parameters use stringified JSON objects. For example, -options [\"option1\"] -map {\"key1\": \"value1\" }. ",
"properties": {
"editorExtension": "ms.vss-services-azure.azurerg-parameters-grid"
}
},
{
"name": "deploymentMode",
"type": "pickList",
"label": "Deployment mode",
"defaultValue": "Incremental",
"required": true,
"groupName": "Template",
"helpMarkDown": "Incremental mode handles deployments as incremental updates to the resource group . It leaves unchanged resources that exist in the resource group but are not specified in the template. \n\n Complete mode deletes resources that are not in your template. \n\n Validate mode enables you to find problems with the template before creating actual resources. \n\n By default, Incremental mode is used.",
"options": {
"Incremental": "Incremental",
"Complete": "Complete",
"Validation": "Validation only"
}
},
{
"name": "enableDeploymentPrerequisites",
"type": "pickList",
"label": "Enable prerequisites",
"defaultValue": "None",
"groupName": "AdvancedDeploymentOptions",
"options": {
"None": "None",
"ConfigureVMwithWinRM": "Configure with WinRM agent",
"ConfigureVMWithDGAgent": "Configure with Deployment Group agent"
},
"helpMarkDown": "These options would be applicable only when the Resource group contains virtual machines. <br><br>Choosing Deployment Group option would configure Deployment Group agent on each of the virtual machines. <br><br>Selecting WinRM option configures Windows Remote Management (WinRM) listener over HTTPS protocol on port 5986, using a self-signed certificate. This configuration is required for performing deployment operation on Azure machines. If the target Virtual Machines are backed by a Load balancer, ensure Inbound NAT rules are configured for target port (5986)."
},
{
"name": "deploymentGroupEndpoint",
"aliases": [
"teamServicesConnection"
],
"type": "connectedService:ExternalTfs",
"label": "TFS/VSTS endpoint",
"groupName": "AdvancedDeploymentOptions",
"visibleRule": "enableDeploymentPrerequisites = ConfigureVMWithDGAgent",
"required": true,
"helpMarkDown": "Agent registration with Deployment group requires access to your Visual Studio project. <br><br>Click \"Add\" to create an endpoint using personal access token (PAT) with scope restricted to \"Deployment Group\" and a default expiration time of 90 days. <br><br>Click \"Manage\" to update endpoint details.",
"properties": {
"EditableOptions": "True"
}
},
{
"name": "project",
"aliases": [
"teamProject"
],
"type": "pickList",
"label": "Team project",
"groupName": "AdvancedDeploymentOptions",
"visibleRule": "enableDeploymentPrerequisites = ConfigureVMWithDGAgent",
"required": true,
"helpMarkDown": "Specify the Team Project which has the Deployment Group defined in it",
"properties": {
"EditableOptions": "True"
}
},
{
"name": "deploymentGroupName",
"type": "pickList",
"label": "Deployment Group",
"groupName": "AdvancedDeploymentOptions",
"visibleRule": "enableDeploymentPrerequisites = ConfigureVMWithDGAgent",
"required": true,
"helpMarkDown": "Specify the Deployment Group against which the Agent(s) will be registered. For more guidance, refer to [Deployment Groups](https://aka.ms/832442)",
"properties": {
"EditableOptions": "True"
}
},
{
"name": "copyAzureVMTags",
"type": "boolean",
"label": "Copy Azure VM tags to agents",
"groupName": "AdvancedDeploymentOptions",
"visibleRule": "enableDeploymentPrerequisites = ConfigureVMWithDGAgent",
"defaultValue": true,
"helpMarkDown": "Choose if the tags configured on the Azure VM need to be copied to the corresponding Deployment Group agent. <br><br>By default all Azure tags will be copied following the format “Key: Value”. Example: An Azure Tag “Role : Web” would be copied as-is to the Agent machine. <br><br>For more information on how tag Azure resources refer to [link](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-using-tags)"
},
{
"name": "outputVariable",
"type": "string",
"label": "VM details for WinRM",
"required": false,
"defaultValue": "",
"groupName": "AdvancedDeploymentOptions",
"visibleRule": "enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None",
"helpMarkDown": "Provide a name for the variable for the resource group. The variable can be used as $(variableName) to refer to the resource group in subsequent tasks like in the PowerShell on Target Machines task for deploying applications. <br>Valid only when the selected action is Create, Update or Select, and required when an existing resource group is selected."
},
{
"name": "deploymentOutputs",
"type": "string",
"label": "Deployment outputs",
"required": false,
"defaultValue": "",
"groupName": "Outputs",
"helpMarkDown": "Provide a name for the variable for the output variable which will contain the outputs section of the current deployment object in string format. You can use the “ConvertFrom-Json” PowerShell cmdlet to parse the JSON object and access the individual output values."
}
],
"dataSourceBindings": [
{
"target": "resourceGroupName",
"endpointId": "$(ConnectedServiceName)",
"dataSourceName": "AzureResourceGroups"
},
{
"target": "location",
"endpointId": "$(ConnectedServiceName)",
"dataSourceName": "AzureLocations"
},
{
"target": "project",
"endpointId": "$(deploymentGroupEndpoint)",
"dataSourceName": "Projects",
"resultTemplate": "{ \"Value\" : \"{{{name}}}\", \"DisplayValue\" : \"{{{name}}}\" }"
},
{
"target": "deploymentGroupName",
"endpointId": "$(deploymentGroupEndpoint)",
"dataSourceName": "DeploymentGroups",
"parameters": {
"project": "$(project)"
},
"resultTemplate": "{ \"Value\" : \"{{{name}}}\", \"DisplayValue\" : \"{{{name}}}\" }"
}
],
"instanceNameFormat": "Azure Deployment:$(action) action on $(resourceGroupName)",
"execution": {
"Node": {
"target": "main.js"
}
},
"messages": {
"CheckResourceGroupExistence": "Checking if the following resource group exists: %s.",
"ResourceGroupStatusFetchFailed": "Failed to check the resource group status. Error: %s.",
"ResourceGroupStatus": "Resource group exists: %s.",
"ResourceGroupCreationFailed": "Failed to create the resource group. Error: %s",
"CreatingNewRG": "Creating resource Group: %s",
"CreatedRG": "Resource Group created successfully.",
"CreatingTemplateDeployment": "Creating deployment parameters.",
"TemplateParsingFailed": "Ensure the Template file ( '%s' ) is valid. Task failed while parsing with following error: %s",
"FileFetchFailed": "Failed to download the file. URL: '%s'. Error: %s",
"ParametersFileParsingFailed": "Ensure the Parameters file ( '%s' ) is valid. Task failed while parsing with following error: %s",
"StartingDeployment": "Starting Deployment.",
"CreateTemplateDeploymentSucceeded": "Successfully deployed the template.",
"CreateTemplateDeploymentFailed": "Task failed while creating or updating the template deployment.",
"ErrorsInYourDeployment": "There were errors in your deployment. Error code: %s.",
"Details": "Details:",
"StartingValidation": "Starting template validation.",
"ValidDeployment": "Template deployment validation was completed successfully.",
"CreateTemplateDeploymentValidationFailed": "Template validation failed. Error: %s.",
"TemplateValidationHadErrors": "Task failed while validating the template deployment.",
"DeletingResourceGroup": "Deleting resource group: %s",
"CouldNotDeletedResourceGroup": "Could not delete resource group: '%s'. Operation failed with error: %s",
"DeletedResourceGroup": "Deleted resource group: %s",
"VM_ListFetchFailed": "Failed to fetch the list of virtual machines from resource group: %s. Error: %s",
"NoVMsFound": "No virtual machines found in the resource group.",
"VM_Start": "Starting virtual machine: %s",
"VM_Restart": "Restarting virtual machine: %s",
"VM_Stop": "Stopping virtual machine: %s",
"VM_Deallocate": "Deallocating virtual machine: %s",
"VM_Delete": "Deleting virtual machine: %s",
"SucceededOnVMOperation": "Operation: '%s' succeeded on all the virtual machines.",
"FailureOnVMOperation": "Operation: '%s' did not succeed on all the virtual machines. Errors: \n%s",
"VirtualMachineNameAndError": "%s: %s",
"RegisteringEnvironmentVariable": "Selecting the resource group details: %s.",
"FailedToFetchNetworkInterfaces": "Failed to fetch the list of network interfaces. Error: %s.",
"FailedToFetchLoadBalancers": "Failed to fetch the list of load balancers. Error: %s.",
"FailedToFetchPublicAddresses": "Failed to fetch the list of public addresses. Error: %s.",
"AddedToOutputVariable": "Resource group details were saved in following output variable: %s.",
"InvalidAction": "This action is not defined. Check with the task author.",
"TaskNotFound": "Task.json file could not be found: %s",
"ARGD_ConstructorFailed": "Task failed while initializing. Error: %s",
"RuleExistsAlready": "Rule %s already exists on the security group '%s'",
"AddExtension": "Adding extension '%s' on virtual machine '%s'",
"DeleteExtension": "Trying to delete extension %s from virtual machine %s",
"FailedToAddExtension": "Failed to add the network security rule with exception: %s",
"AddingSecurityRuleNSG": "Adding security rule for the network security group: %s",
"AddedSecurityRuleNSG": "Added inbound network security rule config %s with priority %s for port %s under security group %s with result: %s",
"FailedAddingNSGRule3Times": "Failed to add the network security rule to the security group %s after trying 3 times",
"FailedToDeleteExtension": "Deletion of extension failed",
"CredentialsCannotBeNull": "'credentials' cannot be null.",
"SubscriptionIdCannotBeNull": "'subscriptionId' cannot be null.",
"CallbackCannotBeNull": "callback cannot be null.",
"ResourceGroupCannotBeNull": "resourceGroupName cannot be null or undefined and it must be of type string.",
"ResourceGroupExceededLength": "\"resourceGroupName\" should satisfy the constraint - \"MaxLength\": 90",
"ResourceGroupDeceededLength": "\"resourceGroupName\" should satisfy the constraint - \"MinLength\": 1",
"ResourceGroupDoesntMatchPattern": "\"resourceGroupName\" should satisfy the constraint - \"Pattern\": /^[-\\w\\._\\(\\)]+$/",
"ParametersCannotBeNull": "parameters cannot be null or undefined.",
"DeploymentNameCannotBeNull": "deploymentName cannot be null or undefined and it must be of type string.",
"VMNameCannotBeNull": "vmName cannot be null or undefined and it must be of type string.",
"InvalidValue": "%s is not a valid value. The valid values are: %s",
"VmExtensionNameCannotBeNull": "vmExtensionName cannot be null or undefined and it must be of type string.",
"ExpandShouldBeOfTypeString": "expand must be of type string.",
"ExtensionParametersCannotBeNull": "extensionParameters cannot be null or undefined.",
"ClientIdCannotBeEmpty": "clientId must be a non empty string.",
"DomainCannotBeEmpty": "domain must be a non empty string.",
"SecretCannotBeEmpty": "secret must be a non empty string.",
"armUrlCannotBeEmpty": "arm Url must be a non empty string.",
"authorityUrlCannotBeEmpty": "authority must be a non empty string.",
"LoadBalancerNameCannotBeNull": "'loadBalancerName cannot be null or undefined and it must be of type string.'",
"NetworkInterfaceNameCannotBeNull": "networkInterfaceName cannot be null or undefined and it must be of type string.",
"NetworkSecurityGroupNameCannotBeNull": "networkSecurityGroupName cannot be null or undefined and it must be of type string.",
"SecurityRuleNameCannotBeNull": "securityRuleName cannot be null or undefined and it must be of type string.",
"SecurityRuleParametersCannotBeNull": "securityRuleParameters cannot be null or undefined.",
"OutputVariableShouldNotBeEmpty": "Output variable should not be empty.",
"ARG_SetExtensionFailedForVm": "Standard Error Message: Failed to set extension on Virtual Machine %s. Error: %s",
"InvalidResponseLongRunningOperation": "Invalid response received for fetching status of a long running operation.",
"AddingInboundNatRule": "Adding Inbound Nat Rule for the Virtual Machine %s to the Load Balancer %s",
"InboundNatRuleAdditionFailed": "Addition of Inbound Nat Rule to the Load Balancer %s failed. Error: %s ",
"InboundNatRulesToNICFailed": "Addition of rule Id to the loadBalancerInboundNatRules of nic %s failed with the error: %s",
"AddedTargetInboundNatRuleLB": "Added the target virtual machine for the inbound NAT rules of load balancer %s",
"FailedToFetchInstanceViewVM": "Failed to fetch the instance view of the virtual machine. Error : %s",
"CreationOfExtensionFailed": "Failed to add the extension to the vm: '%s'. Error: %s",
"AddedExtension": "Successfully added the WinRMCustomScriptExtension for the virtual Machine %s",
"AddingExtensionSucceeded": "Addition of extension on vm %s succeeded",
"DeletionSucceeded": "Deletion of extension on vm %s succeeded",
"AdditionFailed": "Addition of %s on vm %s failed. Error : %s",
"DeletionFailed": "Deletion of %s on vm %s failed. Error : %s",
"DeleteAgentManually": "After the task execution completes, if the deployment group agent corresponding to the virtual machine %s is present but not active in the deployment group %s, then please delete it manually from the deployment group.",
"DGAgentOperationOnAllVMsFailed": "Deployment group agent %s did not succeed on all VMs. %s",
"DGAgentAddedOnAllVMs": "Deployment group agent added on all virtual machines of the resource group",
"DGAgentDeletedFromAllVMs": "Deployment group agent deleted from all virtual machines of the resource group",
"DGAgentHandlerMajorVersion": "Deployment group extension handler major version is 1",
"VMStartFailed": "Could not start the virtual machine %s. Error : %s",
"VMStarted": "Started virtual machine: %s",
"VMTransitioningSkipExtensionAddition": "Virtual machine %s is in a transitioning state. Skipping adding extension on it.",
"VMDetailsFetchFailed": "Could not get details of virtual machine %s. Error : %s",
"VMDetailsFetchSucceeded": "Fetched details of virtual machine %s.",
"AddingDGAgentOnVMs": "Adding deployment group agent on the resource group virtual machines.",
"DeletingDGAgentOnVMs": "Deleting deployment group agent on virtual machines",
"AddingExtensionFailed": "Addition of extension on vm %s failed",
"TimeoutWhileWaiting": "Timed out while waiting",
"InvalidTemplateLocation": "The template location supplied is invalid. Task only supports 'Linked artifact' or 'URL of the file'",
"EncodingNotSupported": "Encoding of the file '%s' is '%s' which is not supported. Supported file encodings are ['utf-8', 'utf-16le']",
"CouldNotDetectEncoding": "Could not detect encoding of file '%s'",
"DetectedFileEncoding": "The detected encoding for file '%s' is '%s'",
"HostUrlCannotBeEmpty": "Host url must be a non empty string.",
"PatTokenCannotBeEmpty": "Personal access token must be a non empty string.",
"OnlyTokenAuthAllowed": "Endpoint can be of Token authorization type only.",
"DeploymentGroupEndpointUrlCannotBeEmpty": "Deployment group endpoint url cannot be empty",
"DeploymentGroupEndpointPatTokenCannotBeEmpty": "Deployment group endpoint personal access token cannot be empty",
"ErrorWhileParsingParameter": "There was an error while overriding '%s' parameter because of '%s', make sure it follows JavaScript Object Notation (JSON)",
"TemplateFilePatternMatchingMoreThanOneFile": "Found multiple files matching template file pattern: %s",
"TemplateParameterFilePatternMatchingMoreThanOneFile": "Found multiple files matching template parameters file pattern: %s",
"TemplateFilePatternMatchingNoFile": "Could not find any file matching the template file pattern",
"TemplateParameterFilePatternMatchingNoFile": "Could not find any file matching the template file pattern",
"ParametersPatternMatchesADirectoryInsteadOfAFile": "Parameters file pattern matches a directory instead of a file.",
"CsmFilePatternMatchesADirectoryInsteadOfAFile": "Template file pattern matches a directory instead of a file: %s",
"ResourceNameCannotBeNull": "Resource name cannot be null.",
"ProvisioningStatusOfExtensionIsNotSucceeded": "Provisioning State of WinRMCustomScriptExtension is not succeeded on vm: '%s'.",
"ListingOfExtensionsFailed": "Failed to list the extensions for the vm: '%s'. Error '%s'",
"ExtensionNotFound": "Extension not found on the vm: %s",
"AddedOutputVariable": "Updated output variable '%s', which contains the outputs section of the current deployment object in string format.",
"UnableToFetchAuthorityURL": "Unable to fetch authority url.",
"UnableToFetchActiveDirectory": "Unable to fetch active directory resource id.",
"SpecifiedAzureRmEndpointIsInvalid": "Specified AzureRm endpoint url : '{0}' is invalid.",
"FailedToFetchAzureStackDependencyData": "Failed to fetch azure stack dependency data, error message : {0}",
"UnableToReadResponseBody": "Unable to read response body. Error: %s",
"CouldNotFetchAccessTokenforAzureStatusCode": "Could not fetch access token for Azure. Status code: %s, status message: %s",
"CouldNotFetchAccessTokenforMSIDueToMSINotConfiguredProperlyStatusCode": "Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: %s, status message: %s",
"CouldNotFetchAccessTokenforMSIStatusCode": "Could not fetch access token for Managed Service Principal. Status code: %s, status message: %s"
}
}