@@ -30,16 +30,20 @@ Cmdlet Get-AzureVirtualMachineScaleSetVMInstanceView AzureResource
30
30
Cmdlet Get-AzureVirtualMachineScaleSetVMList AzureResourceManager
31
31
Cmdlet New-AzureVirtualMachineScaleSet AzureResourceManager
32
32
Cmdlet Remove-AzureVirtualMachineScaleSet AzureResourceManager
33
+ Cmdlet Remove-AzureVirtualMachineScaleSetInstances AzureResourceManager
33
34
Cmdlet Remove-AzureVirtualMachineScaleSetVM AzureResourceManager
34
35
Cmdlet Restart-AzureVirtualMachineScaleSet AzureResourceManager
36
+ Cmdlet Restart-AzureVirtualMachineScaleSetInstances AzureResourceManager
35
37
Cmdlet Restart-AzureVirtualMachineScaleSetVM AzureResourceManager
36
38
Cmdlet Start-AzureVirtualMachineScaleSet AzureResourceManager
39
+ Cmdlet Start-AzureVirtualMachineScaleSetInstances AzureResourceManager
37
40
Cmdlet Start-AzureVirtualMachineScaleSetVM AzureResourceManager
38
41
Cmdlet Stop-AzureVirtualMachineScaleSet AzureResourceManager
42
+ Cmdlet Stop-AzureVirtualMachineScaleSetInstances AzureResourceManager
43
+ Cmdlet Stop-AzureVirtualMachineScaleSetInstancesWithDe... AzureResourceManager
39
44
Cmdlet Stop-AzureVirtualMachineScaleSetVM AzureResourceManager
40
45
Cmdlet Stop-AzureVirtualMachineScaleSetVMWithDeallocation AzureResourceManager
41
46
Cmdlet Stop-AzureVirtualMachineScaleSetWithDeallocation AzureResourceManager
42
-
43
47
#>
44
48
function Test-VirtualMachineScaleSet
45
49
{
@@ -120,7 +124,65 @@ function Test-VirtualMachineScaleSet
120
124
Assert-True { $vmss.Name -eq $vmssResult.VirtualMachineScaleSet.Name };
121
125
122
126
# List All
123
- $all_vmss = Get-AzureVirtualMachineScaleSetAllList - VirtualMachineScaleSetListAllParameters $null ;
127
+ $vmssList = Get-AzureVirtualMachineScaleSetAllList - VirtualMachineScaleSetListAllParameters $null ;
128
+ Assert-True { ($vmssList.VirtualMachineScaleSets | select - ExpandProperty Name) -contains $vmss.Name };
129
+
130
+ # List from RG
131
+ $vmssList = Get-AzureVirtualMachineScaleSetList - ResourceGroupName $rgname ;
132
+ Assert-True { ($vmssList.VirtualMachineScaleSets | select - ExpandProperty Name) -contains $vmss.Name };
133
+
134
+ # List Skus
135
+ $skuList = Get-AzureVirtualMachineScaleSetSkusList - ResourceGroupName $rgname - VMScaleSetName $vmss.Name ;
136
+
137
+ # List All VMs
138
+ $vmListParams = New-AzureComputeParameterObject - FriendlyName VirtualMachineScaleSetVMListParameters;
139
+ $vmListParams.ResourceGroupName = $rgname ;
140
+ $vmListParams.VirtualMachineScaleSetName = $vmss.Name ;
141
+ $vmListResult = Get-AzureVirtualMachineScaleSetVMList - VirtualMachineScaleSetVMListParameters $vmListParams ;
142
+ $vmList = $vmListResult.VirtualMachineScaleSetVMs ;
143
+
144
+ # List each VM
145
+ for ($i = 0 ; $i -lt $vmList.Count ; $i ++ )
146
+ {
147
+ $vm = Get-AzureVirtualMachineScaleSetVM - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - InstanceId $i ;
148
+ Assert-NotNull $vm.VirtualMachineScaleSetVM ;
149
+ $vmInstance = Get-AzureVirtualMachineScaleSetVMInstanceView - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - InstanceId $i ;
150
+ Assert-NotNull $vmInstance.VirtualMachineScaleSetVMInstanceView ;
151
+ }
152
+
153
+ # List Next (negative test)
154
+ Assert-ThrowsContains { Get-AzureVirtualMachineScaleSetNextList - NextLink test.com } " Invalid URI: The format of the URI could not be determined." ;
155
+
156
+ # Stop/Start/Restart Operation
157
+ for ($i = 0 ; $i -lt $vmList.Count ; $i ++ )
158
+ {
159
+ $st = Stop-AzureVirtualMachineScaleSetVM - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - InstanceId $i ;
160
+ $st = Stop-AzureVirtualMachineScaleSetVMWithDeallocation - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - InstanceId $i ;
161
+ $st = Start-AzureVirtualMachineScaleSetVM - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - InstanceId $i ;
162
+ $st = Restart-AzureVirtualMachineScaleSetVM - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - InstanceId $i ;
163
+ }
164
+
165
+ $st = Stop-AzureVirtualMachineScaleSet - ResourceGroupName $rgname - VMScaleSetName $vmss.Name ;
166
+ $st = Stop-AzureVirtualMachineScaleSetWithDeallocation - ResourceGroupName $rgname - VMScaleSetName $vmss.Name ;
167
+ $st = Start-AzureVirtualMachineScaleSet - ResourceGroupName $rgname - VMScaleSetName $vmss.Name ;
168
+ $st = Restart-AzureVirtualMachineScaleSet - ResourceGroupName $rgname - VMScaleSetName $vmss.Name ;
169
+
170
+ $instanceListParam = New-AzureComputeParameterObject - FriendlyName VirtualMachineScaleSetVMInstanceIDs;
171
+ for ($i = 0 ; $i -lt $vmList.Count ; $i ++ )
172
+ {
173
+ $instanceListParam.InstanceIDs.Add ($i );
174
+ }
175
+ $st = Stop-AzureVirtualMachineScaleSetInstances - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - VMInstanceIDs $instanceListParam ;
176
+ $st = Stop-AzureVirtualMachineScaleSetInstancesWithDeallocation - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - VMInstanceIDs $instanceListParam ;
177
+ $st = Start-AzureVirtualMachineScaleSetInstances - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - VMInstanceIDs $instanceListParam ;
178
+ $st = Restart-AzureVirtualMachineScaleSetInstances - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - VMInstanceIDs $instanceListParam ;
179
+
180
+ # Remove
181
+ $instanceListParam = New-AzureComputeParameterObject - FriendlyName VirtualMachineScaleSetVMInstanceIDs;
182
+ $instanceListParam.InstanceIDs.Add (1 );
183
+ $st = Remove-AzureVirtualMachineScaleSetInstances - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - VMInstanceIDs $instanceListParam ;
184
+ Assert-ThrowsContains { $st = Remove-AzureVirtualMachineScaleSetVM - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - InstanceId 0 } " cannot be deleted because it is the last remaining" ;
185
+ $st = Remove-AzureVirtualMachineScaleSet - ResourceGroupName $rgname - VMScaleSetName $vmss.Name ;
124
186
}
125
187
finally
126
188
{
0 commit comments