Skip to content

Commit 26f5cad

Browse files
committed
Merge pull request #43 from hyonholee/vmss
Update Powershell Autogenerator for VMSS
2 parents 531d084 + ad1eaf5 commit 26f5cad

30 files changed

+635
-254
lines changed

src/ResourceManager/Compute/Commands.Compute.Test/ScenarioTests/VirtualMachineScaleSetTests.ps1

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,11 @@ function Test-VirtualMachineScaleSet
133133

134134
# List All
135135
Write-Verbose ('Running Command : ' + 'Get-AzureVMSSAllList');
136-
$vmssList = Get-AzureVMSSAllList -VirtualMachineScaleSetListAllParameters $null;
136+
137+
$argList = New-AzureComputeArgumentList -MethodName VirtualMachineScaleSetListAll;
138+
$args = ($argList | select -ExpandProperty Value);
139+
#$vmssList = Invoke-AzureComputeMethod -MethodName VirtualMachineScaleSetListAll -ArgumentList $args;
140+
$vmssList = Get-AzureVMSSAllList;
137141
Assert-True { ($vmssList.VirtualMachineScaleSets | select -ExpandProperty Name) -contains $vmss.Name };
138142
$output = $vmssList | Out-String;
139143
Write-Verbose ($output);
@@ -155,12 +159,14 @@ function Test-VirtualMachineScaleSet
155159
Assert-True { $output.Contains("VirtualMachineScaleSetSku") };
156160

157161
# List All VMs
158-
$vmListParams = New-AzureComputeParameterObject -FriendlyName VirtualMachineScaleSetVMListParameters;
159-
$vmListParams.ResourceGroupName = $rgname;
160-
$vmListParams.VirtualMachineScaleSetName = $vmss.Name;
161-
162162
Write-Verbose ('Running Command : ' + 'Get-AzureVMSSVMList');
163-
$vmListResult = Get-AzureVMSSVMList -VirtualMachineScaleSetVMListParameters $vmListParams;
163+
164+
$argList = New-AzureComputeArgumentList -MethodName VirtualMachineScaleSetVMList;
165+
$argList[2].Value = $rgname;
166+
$argList[4].Value = $vmss.Name;
167+
$args = ($argList | select -ExpandProperty Value);
168+
#$vmListResult = Invoke-AzureComputeMethod -MethodName VirtualMachineScaleSetVMList -ArgumentList $args;
169+
$vmListResult = Get-AzureVMSSVMList -ResourceGroupName $rgname -VirtualMachineScaleSetName $vmss.Name;
164170
$output = $vmListResult | Out-String;
165171
Write-Verbose ($output);
166172
Assert-True { $output.Contains("VirtualMachineScaleSetVM") };
@@ -202,11 +208,23 @@ function Test-VirtualMachineScaleSet
202208
$st = Start-AzureVMSS -ResourceGroupName $rgname -VMScaleSetName $vmss.Name;
203209
$st = Restart-AzureVMSS -ResourceGroupName $rgname -VMScaleSetName $vmss.Name;
204210

205-
$instanceListParam = New-AzureComputeParameterObject -FriendlyName VirtualMachineScaleSetVMInstanceIDs;
211+
$instanceListParam = @();
206212
for ($i = 0; $i -lt $vmList.Count; $i++)
207213
{
208-
$instanceListParam.InstanceIDs.Add($i);
214+
$instanceListParam += $i.ToString();
209215
}
216+
217+
$argList = New-AzureComputeArgumentList -MethodName VirtualMachineScaleSetPowerOffInstances;
218+
$argList[0].Value = $rgname;
219+
$argList[1].Value = $vmss.Name;
220+
$argList[2].Value = $instanceListParam;
221+
$args = @()
222+
for ($i = 0; $i -lt $argList.Length; $i++)
223+
{
224+
$args += , $argList[$i].Value;
225+
}
226+
227+
#$vmssResult = Invoke-AzureComputeMethod -MethodName VirtualMachineScaleSetPowerOffInstances -ArgumentList $args;
210228
$st = Stop-AzureVMSSInstances -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam;
211229
$st = Stop-AzureVMSSInstancesWithDeallocation -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam;
212230
$st = Start-AzureVMSSInstances -ResourceGroupName $rgname -VMScaleSetName $vmss.Name -VMInstanceIDs $instanceListParam;

src/ResourceManager/Compute/Commands.Compute/Generated/ComputeAutomationBaseCmdlet.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,11 @@ protected static PSArgument[] ConvertFromObjectsToArguments(string[] names, obje
5151

5252
protected static object[] ConvertFromArgumentsToObjects(object[] arguments)
5353
{
54+
if (arguments == null)
55+
{
56+
return null;
57+
}
58+
5459
var objects = new object[arguments.Length];
5560

5661
for (int index = 0; index < arguments.Length; index++)

src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetCreateOrUpdateMethod.cs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ protected object CreateVirtualMachineScaleSetCreateOrUpdateDynamicParameters()
3737
dynamicParameters = new RuntimeDefinedParameterDictionary();
3838
var pResourceGroupName = new RuntimeDefinedParameter();
3939
pResourceGroupName.Name = "ResourceGroupName";
40-
pResourceGroupName.ParameterType = typeof(System.String);
40+
pResourceGroupName.ParameterType = typeof(string);
4141
pResourceGroupName.Attributes.Add(new ParameterAttribute
4242
{
4343
ParameterSetName = "InvokeByDynamicParameters",
@@ -49,7 +49,7 @@ protected object CreateVirtualMachineScaleSetCreateOrUpdateDynamicParameters()
4949

5050
var pParameters = new RuntimeDefinedParameter();
5151
pParameters.Name = "VirtualMachineScaleSetCreateOrUpdateParameters";
52-
pParameters.ParameterType = typeof(Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSet);
52+
pParameters.ParameterType = typeof(VirtualMachineScaleSet);
5353
pParameters.Attributes.Add(new ParameterAttribute
5454
{
5555
ParameterSetName = "InvokeByDynamicParameters",
@@ -91,11 +91,13 @@ protected PSArgument[] CreateVirtualMachineScaleSetCreateOrUpdateParameters()
9191
string resourceGroupName = string.Empty;
9292
VirtualMachineScaleSet parameters = new VirtualMachineScaleSet();
9393

94-
return ConvertFromObjectsToArguments(new string[] { "ResourceGroupName", "Parameters" }, new object[] { resourceGroupName, parameters });
94+
return ConvertFromObjectsToArguments(
95+
new string[] { "ResourceGroupName", "Parameters" },
96+
new object[] { resourceGroupName, parameters });
9597
}
9698
}
9799

98-
[Cmdlet("New", "AzureVMSS")]
100+
[Cmdlet("New", "AzureVmss", DefaultParameterSetName = "InvokeByDynamicParameters")]
99101
public partial class NewAzureVMSS : InvokeAzureComputeMethodCmdlet
100102
{
101103
public NewAzureVMSS()
@@ -115,7 +117,7 @@ public override object GetDynamicParameters()
115117
dynamicParameters = new RuntimeDefinedParameterDictionary();
116118
var pResourceGroupName = new RuntimeDefinedParameter();
117119
pResourceGroupName.Name = "ResourceGroupName";
118-
pResourceGroupName.ParameterType = typeof(System.String);
120+
pResourceGroupName.ParameterType = typeof(string);
119121
pResourceGroupName.Attributes.Add(new ParameterAttribute
120122
{
121123
ParameterSetName = "InvokeByDynamicParameters",
@@ -127,7 +129,7 @@ public override object GetDynamicParameters()
127129

128130
var pParameters = new RuntimeDefinedParameter();
129131
pParameters.Name = "VirtualMachineScaleSetCreateOrUpdateParameters";
130-
pParameters.ParameterType = typeof(Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSet);
132+
pParameters.ParameterType = typeof(VirtualMachineScaleSet);
131133
pParameters.Attributes.Add(new ParameterAttribute
132134
{
133135
ParameterSetName = "InvokeByDynamicParameters",

src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeallocateInstancesMethod.cs

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ protected object CreateVirtualMachineScaleSetDeallocateInstancesDynamicParameter
3737
dynamicParameters = new RuntimeDefinedParameterDictionary();
3838
var pResourceGroupName = new RuntimeDefinedParameter();
3939
pResourceGroupName.Name = "ResourceGroupName";
40-
pResourceGroupName.ParameterType = typeof(System.String);
40+
pResourceGroupName.ParameterType = typeof(string);
4141
pResourceGroupName.Attributes.Add(new ParameterAttribute
4242
{
4343
ParameterSetName = "InvokeByDynamicParameters",
@@ -49,7 +49,7 @@ protected object CreateVirtualMachineScaleSetDeallocateInstancesDynamicParameter
4949

5050
var pVMScaleSetName = new RuntimeDefinedParameter();
5151
pVMScaleSetName.Name = "VMScaleSetName";
52-
pVMScaleSetName.ParameterType = typeof(System.String);
52+
pVMScaleSetName.ParameterType = typeof(string);
5353
pVMScaleSetName.Attributes.Add(new ParameterAttribute
5454
{
5555
ParameterSetName = "InvokeByDynamicParameters",
@@ -61,7 +61,7 @@ protected object CreateVirtualMachineScaleSetDeallocateInstancesDynamicParameter
6161

6262
var pVMInstanceIDs = new RuntimeDefinedParameter();
6363
pVMInstanceIDs.Name = "VMInstanceIDs";
64-
pVMInstanceIDs.ParameterType = typeof(Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMInstanceIDs);
64+
pVMInstanceIDs.ParameterType = typeof(string[]);
6565
pVMInstanceIDs.Attributes.Add(new ParameterAttribute
6666
{
6767
ParameterSetName = "InvokeByDynamicParameters",
@@ -90,7 +90,9 @@ protected void ExecuteVirtualMachineScaleSetDeallocateInstancesMethod(object[] i
9090
{
9191
string resourceGroupName = (string)ParseParameter(invokeMethodInputParameters[0]);
9292
string vmScaleSetName = (string)ParseParameter(invokeMethodInputParameters[1]);
93-
VirtualMachineScaleSetVMInstanceIDs vmInstanceIDs = (VirtualMachineScaleSetVMInstanceIDs)ParseParameter(invokeMethodInputParameters[2]);
93+
var inputArray2 = Array.ConvertAll((object[]) ParseParameter(invokeMethodInputParameters[2]), e => e.ToString());
94+
VirtualMachineScaleSetVMInstanceIDs vmInstanceIDs = new VirtualMachineScaleSetVMInstanceIDs();
95+
vmInstanceIDs.InstanceIDs = inputArray2.ToList();
9496

9597
var result = VirtualMachineScaleSetClient.DeallocateInstances(resourceGroupName, vmScaleSetName, vmInstanceIDs);
9698
WriteObject(result);
@@ -103,13 +105,15 @@ protected PSArgument[] CreateVirtualMachineScaleSetDeallocateInstancesParameters
103105
{
104106
string resourceGroupName = string.Empty;
105107
string vmScaleSetName = string.Empty;
106-
VirtualMachineScaleSetVMInstanceIDs vmInstanceIDs = new VirtualMachineScaleSetVMInstanceIDs();
108+
var vmInstanceIDs = new string[0];
107109

108-
return ConvertFromObjectsToArguments(new string[] { "ResourceGroupName", "VMScaleSetName", "VMInstanceIDs" }, new object[] { resourceGroupName, vmScaleSetName, vmInstanceIDs });
110+
return ConvertFromObjectsToArguments(
111+
new string[] { "ResourceGroupName", "VMScaleSetName", "VMInstanceIDs" },
112+
new object[] { resourceGroupName, vmScaleSetName, vmInstanceIDs });
109113
}
110114
}
111115

112-
[Cmdlet("Stop", "AzureVMSSInstancesWithDeallocation")]
116+
[Cmdlet("Stop", "AzureVmssInstancesWithDeallocation", DefaultParameterSetName = "InvokeByDynamicParameters")]
113117
public partial class StopAzureVMSSInstancesWithDeallocation : InvokeAzureComputeMethodCmdlet
114118
{
115119
public StopAzureVMSSInstancesWithDeallocation()
@@ -129,7 +133,7 @@ public override object GetDynamicParameters()
129133
dynamicParameters = new RuntimeDefinedParameterDictionary();
130134
var pResourceGroupName = new RuntimeDefinedParameter();
131135
pResourceGroupName.Name = "ResourceGroupName";
132-
pResourceGroupName.ParameterType = typeof(System.String);
136+
pResourceGroupName.ParameterType = typeof(string);
133137
pResourceGroupName.Attributes.Add(new ParameterAttribute
134138
{
135139
ParameterSetName = "InvokeByDynamicParameters",
@@ -141,7 +145,7 @@ public override object GetDynamicParameters()
141145

142146
var pVMScaleSetName = new RuntimeDefinedParameter();
143147
pVMScaleSetName.Name = "VMScaleSetName";
144-
pVMScaleSetName.ParameterType = typeof(System.String);
148+
pVMScaleSetName.ParameterType = typeof(string);
145149
pVMScaleSetName.Attributes.Add(new ParameterAttribute
146150
{
147151
ParameterSetName = "InvokeByDynamicParameters",
@@ -153,7 +157,7 @@ public override object GetDynamicParameters()
153157

154158
var pVMInstanceIDs = new RuntimeDefinedParameter();
155159
pVMInstanceIDs.Name = "VMInstanceIDs";
156-
pVMInstanceIDs.ParameterType = typeof(Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMInstanceIDs);
160+
pVMInstanceIDs.ParameterType = typeof(string[]);
157161
pVMInstanceIDs.Attributes.Add(new ParameterAttribute
158162
{
159163
ParameterSetName = "InvokeByDynamicParameters",

src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeallocateMethod.cs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ protected object CreateVirtualMachineScaleSetDeallocateDynamicParameters()
3737
dynamicParameters = new RuntimeDefinedParameterDictionary();
3838
var pResourceGroupName = new RuntimeDefinedParameter();
3939
pResourceGroupName.Name = "ResourceGroupName";
40-
pResourceGroupName.ParameterType = typeof(System.String);
40+
pResourceGroupName.ParameterType = typeof(string);
4141
pResourceGroupName.Attributes.Add(new ParameterAttribute
4242
{
4343
ParameterSetName = "InvokeByDynamicParameters",
@@ -49,7 +49,7 @@ protected object CreateVirtualMachineScaleSetDeallocateDynamicParameters()
4949

5050
var pVMScaleSetName = new RuntimeDefinedParameter();
5151
pVMScaleSetName.Name = "VMScaleSetName";
52-
pVMScaleSetName.ParameterType = typeof(System.String);
52+
pVMScaleSetName.ParameterType = typeof(string);
5353
pVMScaleSetName.Attributes.Add(new ParameterAttribute
5454
{
5555
ParameterSetName = "InvokeByDynamicParameters",
@@ -91,11 +91,13 @@ protected PSArgument[] CreateVirtualMachineScaleSetDeallocateParameters()
9191
string resourceGroupName = string.Empty;
9292
string vmScaleSetName = string.Empty;
9393

94-
return ConvertFromObjectsToArguments(new string[] { "ResourceGroupName", "VMScaleSetName" }, new object[] { resourceGroupName, vmScaleSetName });
94+
return ConvertFromObjectsToArguments(
95+
new string[] { "ResourceGroupName", "VMScaleSetName" },
96+
new object[] { resourceGroupName, vmScaleSetName });
9597
}
9698
}
9799

98-
[Cmdlet("Stop", "AzureVMSSWithDeallocation")]
100+
[Cmdlet("Stop", "AzureVmssWithDeallocation", DefaultParameterSetName = "InvokeByDynamicParameters")]
99101
public partial class StopAzureVMSSWithDeallocation : InvokeAzureComputeMethodCmdlet
100102
{
101103
public StopAzureVMSSWithDeallocation()
@@ -115,7 +117,7 @@ public override object GetDynamicParameters()
115117
dynamicParameters = new RuntimeDefinedParameterDictionary();
116118
var pResourceGroupName = new RuntimeDefinedParameter();
117119
pResourceGroupName.Name = "ResourceGroupName";
118-
pResourceGroupName.ParameterType = typeof(System.String);
120+
pResourceGroupName.ParameterType = typeof(string);
119121
pResourceGroupName.Attributes.Add(new ParameterAttribute
120122
{
121123
ParameterSetName = "InvokeByDynamicParameters",
@@ -127,7 +129,7 @@ public override object GetDynamicParameters()
127129

128130
var pVMScaleSetName = new RuntimeDefinedParameter();
129131
pVMScaleSetName.Name = "VMScaleSetName";
130-
pVMScaleSetName.ParameterType = typeof(System.String);
132+
pVMScaleSetName.ParameterType = typeof(string);
131133
pVMScaleSetName.Attributes.Add(new ParameterAttribute
132134
{
133135
ParameterSetName = "InvokeByDynamicParameters",

src/ResourceManager/Compute/Commands.Compute/Generated/VirtualMachineScaleSet/VirtualMachineScaleSetDeleteInstancesMethod.cs

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ protected object CreateVirtualMachineScaleSetDeleteInstancesDynamicParameters()
3737
dynamicParameters = new RuntimeDefinedParameterDictionary();
3838
var pResourceGroupName = new RuntimeDefinedParameter();
3939
pResourceGroupName.Name = "ResourceGroupName";
40-
pResourceGroupName.ParameterType = typeof(System.String);
40+
pResourceGroupName.ParameterType = typeof(string);
4141
pResourceGroupName.Attributes.Add(new ParameterAttribute
4242
{
4343
ParameterSetName = "InvokeByDynamicParameters",
@@ -49,7 +49,7 @@ protected object CreateVirtualMachineScaleSetDeleteInstancesDynamicParameters()
4949

5050
var pVMScaleSetName = new RuntimeDefinedParameter();
5151
pVMScaleSetName.Name = "VMScaleSetName";
52-
pVMScaleSetName.ParameterType = typeof(System.String);
52+
pVMScaleSetName.ParameterType = typeof(string);
5353
pVMScaleSetName.Attributes.Add(new ParameterAttribute
5454
{
5555
ParameterSetName = "InvokeByDynamicParameters",
@@ -61,7 +61,7 @@ protected object CreateVirtualMachineScaleSetDeleteInstancesDynamicParameters()
6161

6262
var pVMInstanceIDs = new RuntimeDefinedParameter();
6363
pVMInstanceIDs.Name = "VMInstanceIDs";
64-
pVMInstanceIDs.ParameterType = typeof(Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMInstanceIDs);
64+
pVMInstanceIDs.ParameterType = typeof(string[]);
6565
pVMInstanceIDs.Attributes.Add(new ParameterAttribute
6666
{
6767
ParameterSetName = "InvokeByDynamicParameters",
@@ -90,7 +90,9 @@ protected void ExecuteVirtualMachineScaleSetDeleteInstancesMethod(object[] invok
9090
{
9191
string resourceGroupName = (string)ParseParameter(invokeMethodInputParameters[0]);
9292
string vmScaleSetName = (string)ParseParameter(invokeMethodInputParameters[1]);
93-
VirtualMachineScaleSetVMInstanceIDs vmInstanceIDs = (VirtualMachineScaleSetVMInstanceIDs)ParseParameter(invokeMethodInputParameters[2]);
93+
var inputArray2 = Array.ConvertAll((object[]) ParseParameter(invokeMethodInputParameters[2]), e => e.ToString());
94+
VirtualMachineScaleSetVMInstanceIDs vmInstanceIDs = new VirtualMachineScaleSetVMInstanceIDs();
95+
vmInstanceIDs.InstanceIDs = inputArray2.ToList();
9496

9597
var result = VirtualMachineScaleSetClient.DeleteInstances(resourceGroupName, vmScaleSetName, vmInstanceIDs);
9698
WriteObject(result);
@@ -103,13 +105,15 @@ protected PSArgument[] CreateVirtualMachineScaleSetDeleteInstancesParameters()
103105
{
104106
string resourceGroupName = string.Empty;
105107
string vmScaleSetName = string.Empty;
106-
VirtualMachineScaleSetVMInstanceIDs vmInstanceIDs = new VirtualMachineScaleSetVMInstanceIDs();
108+
var vmInstanceIDs = new string[0];
107109

108-
return ConvertFromObjectsToArguments(new string[] { "ResourceGroupName", "VMScaleSetName", "VMInstanceIDs" }, new object[] { resourceGroupName, vmScaleSetName, vmInstanceIDs });
110+
return ConvertFromObjectsToArguments(
111+
new string[] { "ResourceGroupName", "VMScaleSetName", "VMInstanceIDs" },
112+
new object[] { resourceGroupName, vmScaleSetName, vmInstanceIDs });
109113
}
110114
}
111115

112-
[Cmdlet("Remove", "AzureVMSSInstances")]
116+
[Cmdlet("Remove", "AzureVmssInstances", DefaultParameterSetName = "InvokeByDynamicParameters")]
113117
public partial class RemoveAzureVMSSInstances : InvokeAzureComputeMethodCmdlet
114118
{
115119
public RemoveAzureVMSSInstances()
@@ -129,7 +133,7 @@ public override object GetDynamicParameters()
129133
dynamicParameters = new RuntimeDefinedParameterDictionary();
130134
var pResourceGroupName = new RuntimeDefinedParameter();
131135
pResourceGroupName.Name = "ResourceGroupName";
132-
pResourceGroupName.ParameterType = typeof(System.String);
136+
pResourceGroupName.ParameterType = typeof(string);
133137
pResourceGroupName.Attributes.Add(new ParameterAttribute
134138
{
135139
ParameterSetName = "InvokeByDynamicParameters",
@@ -141,7 +145,7 @@ public override object GetDynamicParameters()
141145

142146
var pVMScaleSetName = new RuntimeDefinedParameter();
143147
pVMScaleSetName.Name = "VMScaleSetName";
144-
pVMScaleSetName.ParameterType = typeof(System.String);
148+
pVMScaleSetName.ParameterType = typeof(string);
145149
pVMScaleSetName.Attributes.Add(new ParameterAttribute
146150
{
147151
ParameterSetName = "InvokeByDynamicParameters",
@@ -153,7 +157,7 @@ public override object GetDynamicParameters()
153157

154158
var pVMInstanceIDs = new RuntimeDefinedParameter();
155159
pVMInstanceIDs.Name = "VMInstanceIDs";
156-
pVMInstanceIDs.ParameterType = typeof(Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetVMInstanceIDs);
160+
pVMInstanceIDs.ParameterType = typeof(string[]);
157161
pVMInstanceIDs.Attributes.Add(new ParameterAttribute
158162
{
159163
ParameterSetName = "InvokeByDynamicParameters",

0 commit comments

Comments
 (0)