Skip to content

Commit 8f8ce1c

Browse files
committed
Merge branch 'clu' of https://github.com/Azure/azure-powershell into clu
2 parents cc433dc + 9a16de0 commit 8f8ce1c

File tree

36 files changed

+343
-40
lines changed

36 files changed

+343
-40
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Param(
2+
[string]$resourceGroupName,
3+
[string]$resourceGroupLocation
4+
)
5+
6+
Write-Host "Skip"
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#!/bin/bash
2+
set -e
3+
printf "\n=== Managing Virtual Machine Creation in Azure Compute ===\n"
4+
5+
printf "\n1. Creating a new resource group: %s and location: %s.\n" "$groupName" "$location"
6+
azure group create -n "$groupName" --location "$location"
7+
8+
printf "\n2. Creating a new storage account '%s' in type '%s'.\n" "$storageAccountName" "$storageAccountType"
9+
azure storage account new --resourcegroupname "$groupName" --name "$storageAccountName" --location "$location" --type "$storageAccountType"
10+
11+
printf "\n3. Create virtual network.\n"
12+
result=`azure virtual network create --resourcegroupname "$groupName" --name test --location "$location" --addressprefix "[\"10.0.0.0/16\"]" --subnet "[{\"Name\":\"test\",\"AddressPrefix\":\"10.0.0.0/24\"}]" --force`
13+
14+
contextResult=`azure context get`
15+
16+
subId=`echo $contextResult | jq '.Subscription.SubscriptionId' --raw-output`
17+
18+
subnetId="/subscriptions/$subId/resourceGroups/$groupName/providers/Microsoft.Network/virtualNetworks/test/subnets/test"
19+
20+
printf "\n4. Create network interface with:\r\nsubId='%s' \r\n& \r\nsubnetId='$subnetId'.\n" "$subId"
21+
export MSYS_NO_PATHCONV=1
22+
azure network interface create --name test --resourcegroupname "$groupName" --location "$location" --subnetid "$subnetId"
23+
export MSYS_NO_PATHCONV=
24+
25+
nicId="/subscriptions/$subId/resourceGroups/$groupName/providers/Microsoft.Network/networkInterfaces/test"
26+
27+
vhdUri="https://$storageAccountName.blob.core.windows.net/$storageAccountName/$storageAccountName.vhd"
28+
29+
vmStr="{\"Name\":\"test\",\"HardwareProfile\":{\"VmSize\":\"Standard_A1\"},\"NetworkProfile\":{\"NetworkInterfaces\":[{\"Id\":\"$nicId\"}]},\"OSProfile\":{\"ComputerName\":\"test\",\"AdminPassword\":\"BaR@1234\",\"AdminUsername\":\"Foo12\"},\"StorageProfile\":{\"ImageReference\":{\"Offer\":\"WindowsServer\",\"Publisher\":\"MicrosoftWindowsServer\",\"Sku\":\"2008-R2-SP1\",\"Version\":\"latest\"},\"OSDisk\":{\"Caching\":\"ReadWrite\",\"CreateOption\":\"FromImage\",\"Name\":\"osDisk\",\"Vhd\":{\"Uri\":\"$vhdUri\"}}}}"
30+
31+
printf "\n5. Create virtual machine with\r\nnicId='%s'\r\nvhdUri='%s'\r\nvmStr='%s'\n" "$nicId" "$vhdUri" "$vmStr"
32+
33+
azure vm new --resourcegroupname "$groupName" --location "$location" --vmprofile "$vmStr"
34+
35+
printf "\n6. Removing resource group: %s.\n" "$groupName"
36+
azure group remove -n "$groupName" -f
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
Param(
2+
[string]$groupName,
3+
[string]$location,
4+
[string]$rName,
5+
)
6+
7+
Write-Host "=== Managing Resources in Azure ==="
8+
9+
Write-Host "1. Creating a new resource group"
10+
New-AzureRmResourceGroup -Name $groupName -Location $location
11+
$destinationGroupName = $groupName + "Destination"
12+
13+
Write-Host "2. Registering Resource Provider Namespace."
14+
$providerNamespace="Providers.Test"
15+
Register-AzureRmResourceProvider -ProviderNamespace $providerNamespace -Force
16+
17+
Write-Host "3. Creating a new Resource"
18+
$resourceType = $providerNamespace + "/statefulResources"
19+
$apiversion="2014-04-01"
20+
New-AzureRmResource -Name $rName -Location $location -Tags @{Name = "testtag"; Value = "testval"} -ResourceGroupName $groupName -ResourceType $resourceType -PropertyObject @{"administratorLogin" = "adminuser"; "administratorLoginPassword" = "P@ssword1"} -ApiVersion $apiversion -Force
21+
22+
Write-Host "4. Get information about Resource"
23+
$resourceInfo = Get-AzureRmResource -ResourceGroupName $groupName
24+
Write-Host "Validating Resource name"
25+
Assert-AreEqual $rName $resourceInfo.Name
26+
27+
Write-Host "5. Find Resource with name"
28+
$foundResource = Find-AzureRmResource -ResourceType $resourceType -ResourceNameContains $rName
29+
Write-Host "Validating Resource name"
30+
Assert-AreEqual $rName $foundResource.Name
31+
32+
Write-Host "6. Update Resource"
33+
Set-AzureRmResource -ResourceGroupName $groupName -ResourceName $rName -ResourceType $resourceType -Tags @{Name = "testtagUpdated"; Value = "testvalueUpdated"} -Force
34+
35+
Write-Host "7. Move Resource to resource group"
36+
New-AzureRmResourceGroup -Name $destinationGroupName -Location $location
37+
Move-AzureRmResource -DestinationResourceGroupName $destinationGroupName -ResourceId $resourceInfo.ResourceId -Force
38+
39+
Write-Host "8. Removing resource"
40+
$foundResource = Find-AzureRmResource -ResourceType $resourceType -ResourceNameContains $rName
41+
Remove-AzureRmResource -ResourceId $foundResource.ResourceId -Force
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
Param(
2+
[string]$groupName,
3+
[string]$location
4+
)
5+
6+
Write-Host "=== Provisioning Deployments in Azure ==="
7+
8+
Write-Host "1. Create a new resource group"
9+
New-AzureRmResourceGroup -Name $groupName -Location $location
10+
11+
Write-Host "2. Test template"
12+
$siteName = Get-ResourceName
13+
$list = Test-AzureResourceGroupTemplate -ResourceGroupName $groupName -TemplateFile sampleTemplate.json -siteName $siteName -hostingPlanName $siteName -siteLocation $location -sku Free -workerSize 0
14+
Write-Host $list
15+
# Assert
16+
Assert-AreEqual 0 @($list).Count
17+
18+
Write-Host "3. Provisioning Deployment"
19+
$deployment = New-AzureRmResourceGroupDeployment -Name $siteName -ResourceGroupName $groupName -TemplateFile sampleTemplate.json -TemplateParameterFile sampleTemplateParams.json
20+
Write-Host $deployment
21+
# Assert
22+
Assert-AreEqual Succeeded $deployment.ProvisioningState
23+
24+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
set -e
3+
printf "\n=== Provisioning Deployments in Azure ===\n"
4+
5+
printf "\n1. Creating a new resource group: %s and location: %s.\n" "$groupName" "$location"
6+
azure group create --name "$groupName" --location "$location"
7+
8+
printf "\n2. Test template with dynamic parameters\n"
9+
siteName=`randomName testrn`
10+
azure group deployment test -g "$groupName" --templatefile $BASEDIR/resource-management/sampleTemplate.json --siteName "$siteName" --hostingPlanName "$siteName" --siteLocation "$location" --sku "Standard" --workerSize "0"
11+
12+
printf "\n3. Test template with JSON parameter object\n"
13+
azure group deployment test -g "$groupName" --templatefile $BASEDIR/resource-management/sampleTemplate.json --templateparameterobject "{\"siteName\":\"$siteName\",\"hostingPlanName\":\"$siteName\",\"siteLocation\":\"$location\",\"sku\":\"Standard\",\"workerSize\": 0 }"
14+
15+
printf "\n4. Provisioning Deployment\n"
16+
deploymentInfo=`azure group deployment create --Name "$siteName" --ResourceGroupName "$groupName" --TemplateFile $BASEDIR/resource-management/sampleTemplate.json --TemplateParameterFile $BASEDIR/resource-management/sampleTemplateParams.json`
17+
echo $deploymentInfo
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
{
2+
"$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3+
"contentVersion": "1.0.0.0",
4+
"parameters": {
5+
"siteName": {
6+
"type": "string"
7+
},
8+
"hostingPlanName": {
9+
"type": "string"
10+
},
11+
"siteLocation": {
12+
"type": "string"
13+
},
14+
"sku": {
15+
"type": "string",
16+
"allowedValues": [
17+
"Free",
18+
"Shared",
19+
"Basic",
20+
"Standard"
21+
],
22+
"defaultValue": "Free"
23+
},
24+
"workerSize": {
25+
"type": "int",
26+
"allowedValues": [
27+
0,
28+
1,
29+
2
30+
],
31+
"defaultValue": 0
32+
}
33+
},
34+
"resources": [
35+
{
36+
"apiVersion": "2014-04-01",
37+
"name": "[parameters('hostingPlanName')]",
38+
"type": "Microsoft.Web/serverfarms",
39+
"location": "[parameters('siteLocation')]",
40+
"properties": {
41+
"name": "[parameters('hostingPlanName')]",
42+
"sku": "[parameters('sku')]",
43+
"workerSize": "[parameters('workerSize')]",
44+
"numberOfWorkers": 1
45+
}
46+
}
47+
]
48+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"siteName": {
3+
"value": "hao"
4+
},
5+
"hostingPlanName": {
6+
"value": "xDeploymentTestHost26668"
7+
},
8+
"siteLocation": {
9+
"value": "West US"
10+
},
11+
"sku": {
12+
"value": "Standard"
13+
},
14+
"workerSize": {
15+
"value": 0
16+
}
17+
}

src/CLU/Commands.Common.ScenarioTest/ExamplesTests/ComputeTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,12 @@ public void VirtualMachineSizeTest()
3838
var helper = _collectionState.GetRunner("compute-management");
3939
helper.RunScript("01-VirtualMachineSizes");
4040
}
41+
42+
[Fact]
43+
public void VirtualMachineCreationTest()
44+
{
45+
var helper = _collectionState.GetRunner("compute-management");
46+
helper.RunScript("02-VirtualMachineCreation");
47+
}
4148
}
4249
}

src/CLU/Commands.Common.ScenarioTest/project.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"Commands.Common.Authentication": "",
2222
"Commands.ResourceManager.Common": "",
2323
"Microsoft.Azure.Commands.Profile": "",
24-
"Microsoft.Azure.Management.Resources": "3.3.0-preview",
24+
"Microsoft.Azure.Management.Resources": "3.3.1-preview",
2525
"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
2626
"Microsoft.IdentityModel.Clients.ActiveDirectory": "3.6.212041202-alpha",
2727
"Microsoft.Rest.ClientRuntime.Azure": "2.5.4",

src/CLU/Commands.ResourceManager.Cmdlets/project.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
"System.Threading": "4.0.11-beta-23516",
4747
"System.Threading.Tasks": "4.0.11-beta-23516",
4848
"System.Threading.Thread": "4.0.0-beta-23516",
49-
"Microsoft.Azure.Management.Resources": "3.3.0-preview",
49+
"Microsoft.Azure.Management.Resources": "3.3.1-preview",
5050
"Microsoft.Extensions.Caching.Memory": "1.0.0-rc1-final"
5151
},
5252
"compilationOptions": {"emitEntryPoint": true}

src/CLU/Commands.ScenarioTests.ResourceManager.Common/project.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"Commands.Common": "",
2121
"Commands.Common.Authentication": "",
2222
"Commands.ResourceManager.Common": "",
23-
"Microsoft.Azure.Management.Resources": "3.3.0-preview",
23+
"Microsoft.Azure.Management.Resources": "3.3.1-preview",
2424
"Microsoft.IdentityModel.Clients.ActiveDirectory": "3.6.212041202-alpha",
2525
"Microsoft.Rest.ClientRuntime": "1.8.2",
2626
"Microsoft.Rest.ClientRuntime.Azure": "2.5.4",

src/CLU/Microsoft.Azure.Commands.Compute/Extension/CustomScript/RemoveAzureVMCustomScriptExtensionCommand.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ protected override void ProcessRecord()
5959

6060
ExecuteClientAction(() =>
6161
{
62-
if (this.Force.IsPresent || this.ShouldContinue(Microsoft.Azure.Commands.Compute.Properties.Resources.ResourceManager.GetString("VirtualMachineExtensionRemovalConfirmation"), Microsoft.Azure.Commands.Compute.Properties.Resources.ResourceManager.GetString("VirtualMachineExtensionRemovalCaption")))
62+
if (this.Force.IsPresent || this.ShouldContinue(Microsoft.Azure.Commands.Compute.Properties.Resources.VirtualMachineExtensionRemovalConfirmation, Microsoft.Azure.Commands.Compute.Properties.Resources.VirtualMachineExtensionRemovalCaption))
6363
{
6464
this.VirtualMachineExtensionClient.Delete(this.ResourceGroupName, this.VMName, this.Name);
6565
}

src/CLU/Microsoft.Azure.Commands.Compute/Extension/CustomScript/SetAzureVMCustomScriptExtensionCommand.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ protected override void ProcessRecord()
197197

198198
if (string.IsNullOrEmpty(this.Run))
199199
{
200-
WriteWarning(Microsoft.Azure.Commands.Compute.Properties.Resources.ResourceManager.GetString("CustomScriptExtensionTryToUseTheFirstSpecifiedFileAsRunScript"));
200+
WriteWarning(Microsoft.Azure.Commands.Compute.Properties.Resources.CustomScriptExtensionTryToUseTheFirstSpecifiedFileAsRunScript);
201201
this.Run = this.FileName[0];
202202
}
203203
}

src/CLU/Microsoft.Azure.Commands.Compute/Extension/RemoveAzureVMExtensionCommand.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ protected override void ProcessRecord()
6060

6161
ExecuteClientAction(() =>
6262
{
63-
if (this.Force.IsPresent || this.ShouldContinue(Microsoft.Azure.Commands.Compute.Properties.Resources.ResourceManager.GetString("VirtualMachineExtensionRemovalConfirmation"), Microsoft.Azure.Commands.Compute.Properties.Resources.ResourceManager.GetString("VirtualMachineExtensionRemovalCaption")))
63+
if (this.Force.IsPresent || this.ShouldContinue(Microsoft.Azure.Commands.Compute.Properties.Resources.VirtualMachineExtensionRemovalConfirmation, Microsoft.Azure.Commands.Compute.Properties.Resources.VirtualMachineExtensionRemovalCaption))
6464
{
6565
this.VirtualMachineExtensionClient.Delete(this.ResourceGroupName, this.VMName, this.Name);
6666
}

src/CLU/Microsoft.Azure.Commands.Compute/Extension/SetAzureVMExtensionCommand.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,9 @@ protected override void ProcessRecord()
151151
this.Name,
152152
parameters);
153153

154-
var result = Mapper.Map<PSComputeLongRunningOperation>(op);
154+
// TODO: CLU
155+
var result = op;
156+
//var result = Mapper.Map<PSComputeLongRunningOperation>(op);
155157
WriteObject(result);
156158
});
157159
}

src/CLU/Microsoft.Azure.Commands.Compute/Extension/VMAccess/RemoveAzureVMAccessExtension.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ protected override void ProcessRecord()
5959

6060
ExecuteClientAction(() =>
6161
{
62-
if (this.Force.IsPresent || this.ShouldContinue(Microsoft.Azure.Commands.Compute.Properties.Resources.ResourceManager.GetString("VirtualMachineExtensionRemovalConfirmation"), Microsoft.Azure.Commands.Compute.Properties.Resources.ResourceManager.GetString("VirtualMachineExtensionRemovalCaption")))
62+
if (this.Force.IsPresent || this.ShouldContinue(Microsoft.Azure.Commands.Compute.Properties.Resources.VirtualMachineExtensionRemovalConfirmation, Microsoft.Azure.Commands.Compute.Properties.Resources.VirtualMachineExtensionRemovalCaption))
6363
{
6464
this.VirtualMachineExtensionClient.Delete(this.ResourceGroupName, this.VMName, this.Name);
6565
}

src/CLU/Microsoft.Azure.Commands.Compute/Properties/Resources.resx

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -375,4 +375,98 @@ The file needs to be a PowerShell script (.ps1 or .psm1).</value>
375375
<value>Configuration published to {0}</value>
376376
<comment>{0} is an URI</comment>
377377
</data>
378+
<data name="PublishVMDscExtensionCopyFileVerbose1" xml:space="preserve">
379+
<value>Copy '{0}' to '{1}'.</value>
380+
<comment>{0} = source, {1} = destination</comment>
381+
</data>
382+
<data name="PublishVMDscExtensionCopyModuleVerbose1" xml:space="preserve">
383+
<value>Copy the module '{0}' to '{1}'.</value>
384+
<comment>{0} = source, {1} = destination</comment>
385+
</data>
386+
<data name="PublishVMDscExtensionCreateArchiveConfigFileInvalidExtension1" xml:space="preserve">
387+
<value>Invalid configuration file: {0}.
388+
The file needs to be a PowerShell script (.ps1 or .psm1).</value>
389+
<comment>0 = path to the configuration file</comment>
390+
</data>
391+
<data name="PublishVMDscExtensionDeletedFileMessage1" xml:space="preserve">
392+
<value>Deleted '{0}'</value>
393+
<comment>{0} is the path of a file</comment>
394+
</data>
395+
<data name="PublishVMDscExtensionDeleteErrorMessage1" xml:space="preserve">
396+
<value>Cannot delete '{0}': {1}</value>
397+
<comment>{0} is the path of a file, {1} is an error message</comment>
398+
</data>
399+
<data name="PublishVMDscExtensionDirectoryNotExist" xml:space="preserve">
400+
<value>Path '{0}' not found.</value>
401+
<comment>0 = path to the additional content file/directory</comment>
402+
</data>
403+
<data name="PublishVMDscExtensionGetDscResourceFailed1" xml:space="preserve">
404+
<value>Cannot get module for DscResource '{0}'. Possible solutions:
405+
1) Specify -ModuleName for Import-DscResource in your configuration.
406+
2) Unblock module that contains resource.
407+
3) Move Import-DscResource inside Node block.
408+
</value>
409+
<comment>0 = name of DscResource</comment>
410+
</data>
411+
<data name="PublishVMDscExtensionRequiredModulesVerbose1" xml:space="preserve">
412+
<value>List of required modules: [{0}].</value>
413+
<comment>{0} = list of modules</comment>
414+
</data>
415+
<data name="PublishVMDscExtensionRequiredPsVersion1" xml:space="preserve">
416+
<value>Your current PowerShell version {1} is less then required by this cmdlet {0}. Consider download and install latest PowerShell version.</value>
417+
<comment>{0} = minimal required PS version, {1} = current PS version</comment>
418+
</data>
419+
<data name="PublishVMDscExtensionStorageParserErrors1" xml:space="preserve">
420+
<value>Configuration script '{0}' contained parse errors:
421+
{1}</value>
422+
<comment>0 = path to the configuration script, 1 = parser errors</comment>
423+
</data>
424+
<data name="PublishVMDscExtensionTempFolderVerbose1" xml:space="preserve">
425+
<value>Temp folder '{0}' created.</value>
426+
<comment>{0} = temp folder path</comment>
427+
</data>
428+
<data name="PublishVMDscExtensionUploadArchiveConfigFileInvalidExtension1" xml:space="preserve">
429+
<value>Invalid configuration file: {0}.
430+
The file needs to be a PowerShell script (.ps1 or .psm1) or a ZIP archive (.zip).</value>
431+
<comment>0 = path to the configuration file</comment>
432+
</data>
433+
<data name="PublishVMDscExtensionUploadArchiveConfigFileNotExist1" xml:space="preserve">
434+
<value>Configuration file '{0}' not found.</value>
435+
<comment>0 = path to the configuration file</comment>
436+
</data>
437+
<data name="PremiumStorageAccountForBootDiagnostics" xml:space="preserve">
438+
<value>Storage account, {0}, is a premium account. You cannot specify a premium storage account for boot diagnostics</value>
439+
</data>
440+
<data name="BootDiagnosticsNoStorageAccountError" xml:space="preserve">
441+
<value>Storage account name for boot diagnostics is not given.</value>
442+
</data>
443+
<data name="CreatingStorageAccountForBootDiagnostics" xml:space="preserve">
444+
<value>Since the VM is created using premium storage, new standard storage account, {0}, is created for boot diagnostics.</value>
445+
<comment>{0} = new standard storage account name</comment>
446+
</data>
447+
<data name="ErrorDuringCreatingStorageAccountForBootDiagnostics" xml:space="preserve">
448+
<value>Error occurred when creating storage account for boot diagnostics. Keep creating a VM with disabling boot diagnostics. : {0}</value>
449+
<comment>{0} = exception</comment>
450+
</data>
451+
<data name="UsingExistingStorageAccountForBootDiagnostics" xml:space="preserve">
452+
<value>Since the VM is created using premium storage, existing standard storage account, {0}, is used for boot diagnostics.</value>
453+
<comment>{0} = existing standard storage account name</comment>
454+
</data>
455+
<data name="EnableAzureDiskEncryptionCaption" xml:space="preserve">
456+
<value>Enable AzureDiskEncryption on the VM</value>
457+
</data>
458+
<data name="EnableAzureDiskEncryptionConfirmation" xml:space="preserve">
459+
<value>This cmdlet prepares the VM and enables encryption which may reboot the machine and takes 10-15 minutes to finish. Please save your work on the VM before confirming. Do you want to continue?</value>
460+
</data>
461+
<data name="ErrorDuringGettingStorageAccountForBootDiagnostics" xml:space="preserve">
462+
<value>Error occurred when getting storage account, {0}, for boot diagnostics: {1}</value>
463+
<comment>{0} = storage account name, {1} = error message</comment>
464+
</data>
465+
<data name="StorageAccountNotFoundForBootDiagnostics" xml:space="preserve">
466+
<value>Storage account, {0}, is not found. The OS disk may be in a different storage group.</value>
467+
<comment>{0} = storage account name</comment>
468+
</data>
469+
<data name="VMOSDiskDiskEncryptionBothKekVaultIdAndKekUrlRequired" xml:space="preserve">
470+
<value>You have to specify either both of KeyEncryptionKeyVaultId and KeyEncryptionKeyUrl or none of them.</value>
471+
</data>
378472
</root>

src/CLU/Microsoft.Azure.Commands.Compute/StorageServices/AddAzureVhdCommand.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ public UploadParameters ValidateParameters()
124124

125125
if (!String.IsNullOrEmpty(destinationUri.Uri.Query))
126126
{
127-
var message = String.Format(Rsrc.ResourceManager.GetString("AddAzureVhdCommandSASUriNotSupportedInPatchMode"), destinationUri.Uri);
127+
var message = String.Format(Rsrc.AddAzureVhdCommandSASUriNotSupportedInPatchMode, destinationUri.Uri);
128128
throw new ArgumentOutOfRangeException("Destination", message);
129129
}
130130
}

0 commit comments

Comments
 (0)