Skip to content

Commit 4560019

Browse files
author
unknown
committed
Add -ForceUpdate parameter to the following cmdltes:
Set-AzureVMExtension Set-AzureVMCustomScriptExtension Set-AzureVMAccessExtension
1 parent acdfadc commit 4560019

16 files changed

+340
-93
lines changed

src/Common/Commands.Common/ServiceManagementTypes.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1959,6 +1959,19 @@ public string State
19591959
base.SetValue("State", value);
19601960
}
19611961
}
1962+
1963+
[DataMember(Name = "ForceUpdate", EmitDefaultValue = false, Order = 7)]
1964+
public bool? ForceUpdate
1965+
{
1966+
get
1967+
{
1968+
return base.GetValue<bool?>("ForceUpdate");
1969+
}
1970+
set
1971+
{
1972+
base.SetValue("ForceUpdate", value);
1973+
}
1974+
}
19621975
}
19631976

19641977
[CollectionDataContract(Name = "ResourceExtensionReferences", Namespace = Constants.ServiceManagementNS)]

src/ServiceManagement/Compute/Commands.ServiceManagement.Test/Commands.ServiceManagement.Test.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,8 @@
439439
<None Include="Resources\packageADDomain.csv" />
440440
<None Include="Resources\packageScenario.csv" />
441441
<None Include="Resources\patch_VHD.csv" />
442+
<None Include="Resources\PrivateConfig.json" />
443+
<None Include="Resources\PublicConfig.json" />
442444
<None Include="Resources\rdpcert.pfx" />
443445
<None Include="Resources\resume_VHD.csv" />
444446
<None Include="Resources\SampleAppV1.cscfg" />

src/ServiceManagement/Compute/Commands.ServiceManagement.Test/FunctionalTests/ExtensionTests/AzureVMAccessExtensionTests.cs

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -81,21 +81,22 @@ public void CreateVMAccessExtensionTest()
8181
{
8282
try
8383
{
84-
//Deploy a new IaaS VM with Extension using Add-AzureVMExtension
84+
// Deploy a new IaaS VM with Extension using Add-AzureVMExtension
8585
Console.WriteLine("Create a new VM with VM access extension.");
8686
var vm = CreateIaaSVMObject(vmName);
87-
vm = vmPowershellCmdlets.SetAzureVMAccessExtension(vm, vmAccessUserName, vmAccessPassword, version, null,false);
87+
vm = vmPowershellCmdlets.SetAzureVMAccessExtension(
88+
vm, vmAccessUserName, vmAccessPassword, version, null, false, true);
8889

8990
vmPowershellCmdlets.NewAzureVM(serviceName, new[] { vm }, locationName, true);
9091
Console.WriteLine("Created a new VM {0} with VM access extension. Service Name : {1}", vmName, serviceName);
9192

9293
ValidateVMAccessExtension(vmName, serviceName, true);
9394

9495
Utilities.GetAzureVMAndWaitForReady(serviceName, vmName, 30000, 300000);
95-
//Verify that the extension actually work
96+
// Verify that the extension actually work
9697
VerifyRDPExtension(vmName, serviceName);
9798

98-
//Disbale extesnion
99+
// Disbale extesnion
99100
DisableExtension(vmName, serviceName);
100101
ValidateVMAccessExtension(vmName, serviceName, false);
101102
pass = true;
@@ -114,13 +115,14 @@ public void UpdateVMAccessExtensionTest()
114115
{
115116
try
116117
{
117-
//Deploy a new IaaS VM with Extension using Add-AzureVMExtension
118+
// Deploy a new IaaS VM with Extension using Add-AzureVMExtension
118119
var vm = CreateIaaSVMObject(vmName);
119120
vmPowershellCmdlets.NewAzureVM(serviceName, new[] { vm }, locationName);
120121

121122
vm = GetAzureVM(vmName, serviceName);
122-
//Set extension without version
123-
vm = vmPowershellCmdlets.SetAzureVMAccessExtension(vm, vmAccessUserName, vmAccessPassword, null, null, false);
123+
// Set extension without version
124+
vm = vmPowershellCmdlets.SetAzureVMAccessExtension(
125+
vm, vmAccessUserName, vmAccessPassword, null, null, false, true);
124126
vmPowershellCmdlets.UpdateAzureVM(vmName, serviceName, vm);
125127

126128
ValidateVMAccessExtension(vmName, serviceName, true);
@@ -143,14 +145,15 @@ public void AddRoleVMAccessExtensionTest()
143145
{
144146
try
145147
{
146-
//Create an deployment
148+
// Create an deployment
147149
var vm1 = CreateIaaSVMObject(vmName);
148150
vmPowershellCmdlets.NewAzureVM(serviceName, new[] { vm1 }, locationName);
149151

150-
//Add a role with extension enabled.
152+
// Add a role with extension enabled.
151153
string vmName2 = Utilities.GetUniqueShortName(vmNamePrefix);
152154
var vm2 = CreateIaaSVMObject(vmName2);
153-
vm2 = vmPowershellCmdlets.SetAzureVMAccessExtension(vm2, vmAccessUserName,vmAccessPassword, version, referenceName,false);
155+
vm2 = vmPowershellCmdlets.SetAzureVMAccessExtension(
156+
vm2, vmAccessUserName,vmAccessPassword, version, referenceName, false, true);
154157
vmPowershellCmdlets.NewAzureVM(serviceName, new[] { vm2 });
155158

156159
ValidateVMAccessExtension(vmName2, serviceName, true);
@@ -169,15 +172,16 @@ public void UpdateRoleVMAccessExtensionTest()
169172
{
170173
try
171174
{
172-
//Create an deployment and add 2 roles
175+
// Create an deployment and add 2 roles
173176
var vm1 = CreateIaaSVMObject(vmName);
174177
string vmName2 = Utilities.GetUniqueShortName(vmNamePrefix);
175178
var vm2 = CreateIaaSVMObject(vmName2);
176179
vmPowershellCmdlets.NewAzureVM(serviceName, new[] { vm1, vm2 }, locationName);
177180

178-
//Set VM Access extension to the VM
181+
// Set VM Access extension to the VM
179182
var vmroleContext = vmPowershellCmdlets.GetAzureVM(vmName2, serviceName);
180-
vmPowershellCmdlets.SetAzureVMAccessExtension(vm2, vmAccessUserName, vmAccessPassword, version, referenceName, false);
183+
vmPowershellCmdlets.SetAzureVMAccessExtension(
184+
vm2, vmAccessUserName, vmAccessPassword, version, referenceName, false, true);
181185
vmPowershellCmdlets.UpdateAzureVM(vmName2, serviceName, vm2);
182186

183187
var result = vmPowershellCmdlets.GetAzureVM(vmName2, serviceName);
@@ -286,7 +290,7 @@ private void DisableExtension(string vmName, string serviceName)
286290
{
287291
var vm = GetAzureVM(vmName, serviceName);
288292
Console.WriteLine("Disabling the VM Access extesnion for the vm {0}",vmName);
289-
vm = vmPowershellCmdlets.SetAzureVMAccessExtension(vm,disable:true);
293+
vm = vmPowershellCmdlets.SetAzureVMAccessExtension(vm, disable:true, forceUpdate:true);
290294
vmPowershellCmdlets.UpdateAzureVM(vmName, serviceName, vm);
291295
Console.WriteLine("Disabled VM Access extesnion for the vm {0}", vmName);
292296
}

src/ServiceManagement/Compute/Commands.ServiceManagement.Test/FunctionalTests/ExtensionTests/CustomScriptExtensionTests.cs

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ public class CustomScriptExtesnionTests: ServiceManagementTest
4141
private string runFileName = "test2.ps2";
4242
private string[] fileNames = {"test1.ps1","test2.ps1"};
4343
private string endpointSuffix = "";
44-
//private VirtualMachineCustomScriptExtensionContext inputParameters;
4544

4645
[TestInitialize]
4746
public void TestIntialization()
@@ -169,7 +168,9 @@ public void NewAzureVMWithEmptyCustomScriptConfigurationTest()
169168
{
170169
vmName = Utilities.GetUniqueShortName(vmNamePrefix);
171170
var vm = Utilities.CreateIaaSVMObject(vmName, InstanceSize.Small, imageName, true, username, password);
172-
vm = vmPowershellCmdlets.SetAzureVMExtension(vm, customScriptExtension.ExtensionName, customScriptExtension.Publisher, customScriptExtension.Version);
171+
vm = vmPowershellCmdlets.SetAzureVMExtension(vm,
172+
customScriptExtension.ExtensionName, customScriptExtension.Publisher, customScriptExtension.Version,
173+
forceUpdate: true);
173174
vmPowershellCmdlets.NewAzureVM(serviceName, new[] { vm }, locationName);
174175

175176
var vmExtension = vmPowershellCmdlets.GetAzureVMCustomScriptExtension(Utilities.GetAzureVM(vmName, serviceName));
@@ -222,22 +223,33 @@ private PersistentVM SetCustomScripExtesnionToVM(SetAzureVMCustomScriptExtension
222223
{
223224
case SetAzureVMCustomScriptExtensionCmdletParmaterSetType.SetCustomScriptExtensionByUrisParamSetName:
224225
Console.WriteLine("Calling Set-AzureVMCustomScriptExtension cmdlet using SetCustomScriptExtensionByUrisParamSetName parameter set including all parameters.");
225-
return vmPowershellCmdlets.SetAzureVMCustomScriptExtension(vm, fileURI, true, runFileName, referenceName, customScriptExtension.Version);
226+
return vmPowershellCmdlets.SetAzureVMCustomScriptExtension(
227+
vm, fileURI, true, runFileName, referenceName, customScriptExtension.Version, null, true);
228+
226229
case SetAzureVMCustomScriptExtensionCmdletParmaterSetType.SetCustomScriptExtensionByUrisParamSetNameWithOutDefaultParameters:
227230
Console.WriteLine("Calling Set-AzureVMCustomScriptExtension cmdlet using SetCustomScriptExtensionByUrisParamSetName parameter set without optional parameters");
228-
return vmPowershellCmdlets.SetAzureVMCustomScriptExtension(vm, fileURI,true,runFileName);
231+
return vmPowershellCmdlets.SetAzureVMCustomScriptExtension(
232+
vm, fileURI, true, runFileName, null, null, null, true);
233+
229234
case SetAzureVMCustomScriptExtensionCmdletParmaterSetType.DisableCustomScriptExtensionParamSetName:
230235
Console.WriteLine("Calling Set-AzureVMCustomScriptExtension cmdlet using DisableCustomScriptExtensionParamSetName parameter set including all parameters.");
231-
return vmPowershellCmdlets.SetAzureVMCustomScriptExtension(vm, true, referenceName, customScriptExtension.Version);
236+
return vmPowershellCmdlets.SetAzureVMCustomScriptExtension(
237+
vm, true, referenceName, customScriptExtension.Version, true);
238+
232239
case SetAzureVMCustomScriptExtensionCmdletParmaterSetType.DisableCustomScriptExtensionParamSetNameWithOutDefaultParameters:
233240
Console.WriteLine("Calling Set-AzureVMCustomScriptExtension cmdlet using DisableCustomScriptExtensionParamSetName parameter set without optional parameters");
234-
return vmPowershellCmdlets.SetAzureVMCustomScriptExtension(vm,true);
241+
return vmPowershellCmdlets.SetAzureVMCustomScriptExtension(vm, true, null, null, true);
242+
235243
case SetAzureVMCustomScriptExtensionCmdletParmaterSetType.SetCustomScriptExtensionByContainerBlobsParamSetName:
236244
Console.WriteLine("Calling Set-AzureVMCustomScriptExtension cmdlet using SetCustomScriptExtensionByContainerBlobsParamSetName parameter set including all parameters.");
237-
return vmPowershellCmdlets.SetAzureVMCustomScriptExtension(vm,fileNames, runFileName, storageAccountKey.StorageAccountName, endpointSuffix, containerName, storageAccountKey.Primary, referenceName, customScriptExtension.Version);
245+
return vmPowershellCmdlets.SetAzureVMCustomScriptExtension(
246+
vm, fileNames, runFileName, storageAccountKey.StorageAccountName, endpointSuffix,
247+
containerName, storageAccountKey.Primary, referenceName, customScriptExtension.Version, null, true);
248+
238249
case SetAzureVMCustomScriptExtensionCmdletParmaterSetType.SetCustomScriptExtensionByContainerBlobsParamSetNameWithOutDefaultParameters:
239250
Console.WriteLine("Calling Set-AzureVMCustomScriptExtension cmdlet using SetCustomScriptExtensionByContainerBlobsParamSetName parameter set without optional parameters");
240-
return vmPowershellCmdlets.SetAzureVMCustomScriptExtension(vm,fileNames, runFileName,containerName: containerName);
251+
return vmPowershellCmdlets.SetAzureVMCustomScriptExtension(vm, fileNames, runFileName, containerName: containerName);
252+
241253
default:
242254
break;
243255
}

0 commit comments

Comments
 (0)