@@ -1004,4 +1004,80 @@ function Test-VirtualMachinePlan2
1004
1004
# Cleanup
1005
1005
Clean - ResourceGroup $rgname
1006
1006
}
1007
+ }
1008
+
1009
+
1010
+ <#
1011
+ . SYNOPSIS
1012
+ Test Virtual Machines Tags
1013
+ #>
1014
+ function Test-VirtualMachineTags
1015
+ {
1016
+ # Setup
1017
+ $rgname = Get-ComputeTestResourceName
1018
+
1019
+ try
1020
+ {
1021
+ # Common
1022
+ $loc = ' westus' ;
1023
+ New-AzureResourceGroup - Name $rgname - Location $loc ;
1024
+
1025
+ # VM Profile & Hardware
1026
+ $vmsize = ' Standard_A0' ;
1027
+ $vmname = ' vm' + $rgname ;
1028
+ $p = New-AzureVMConfig - VMName $vmname - VMSize $vmsize ;
1029
+ # NRP
1030
+ $subnet = New-AzureVirtualNetworkSubnetConfig - Name (' subnet' + $rgname ) - AddressPrefix " 10.0.0.0/24" ;
1031
+ $vnet = New-AzureVirtualNetwork - Force - Name (' vnet' + $rgname ) - ResourceGroupName $rgname - Location $loc - AddressPrefix " 10.0.0.0/16" - DnsServer " 10.1.1.1" - Subnet $subnet ;
1032
+ $vnet = Get-AzureVirtualNetwork - Name (' vnet' + $rgname ) - ResourceGroupName $rgname ;
1033
+ $subnetId = $vnet.Subnets [0 ].Id;
1034
+ $pubip = New-AzurePublicIpAddress - Force - Name (' pubip' + $rgname ) - ResourceGroupName $rgname - Location $loc - AllocationMethod Dynamic - DomainNameLabel (' pubip' + $rgname );
1035
+ $pubip = Get-AzurePublicIpAddress - Name (' pubip' + $rgname ) - ResourceGroupName $rgname ;
1036
+ $pubipId = $pubip.Id ;
1037
+ $nic = New-AzureNetworkInterface - Force - Name (' nic' + $rgname ) - ResourceGroupName $rgname - Location $loc - SubnetId $subnetId - PublicIpAddressId $pubip.Id ;
1038
+ $nic = Get-AzureNetworkInterface - Name (' nic' + $rgname ) - ResourceGroupName $rgname ;
1039
+ $nicId = $nic.Id ;
1040
+
1041
+ $p = Add-AzureVMNetworkInterface - VM $p - Id $nicId ;
1042
+
1043
+ # Storage Account (SA)
1044
+ $stoname = ' sto' + $rgname ;
1045
+ $stotype = ' Standard_GRS' ;
1046
+ New-AzureStorageAccount - ResourceGroupName $rgname - Name $stoname - Location $loc - Type $stotype ;
1047
+ $stoaccount = Get-AzureStorageAccount - ResourceGroupName $rgname - Name $stoname ;
1048
+
1049
+ $osDiskName = ' osDisk' ;
1050
+ $osDiskCaching = ' ReadWrite' ;
1051
+ $osDiskVhdUri = " https://$stoname .blob.core.windows.net/test/os.vhd" ;
1052
+
1053
+ $p = Set-AzureVMOSDisk - VM $p - Name $osDiskName - VhdUri $osDiskVhdUri - Caching $osDiskCaching - CreateOption FromImage;
1054
+
1055
+ # OS & Image
1056
+ $user = " Foo12" ;
1057
+ $password = ' BaR@123' + $rgname ;
1058
+ $securePassword = ConvertTo-SecureString $password - AsPlainText - Force;
1059
+ $cred = New-Object System.Management.Automation.PSCredential ($user , $securePassword );
1060
+ $computerName = ' test' ;
1061
+
1062
+ $p = Set-AzureVMOperatingSystem - VM $p - Windows - ComputerName $computerName - Credential $cred ;
1063
+
1064
+ # Image Reference;
1065
+ $p.StorageProfile.SourceImage = $null ;
1066
+ $imgRef = Get-DefaultCRPImage ;
1067
+ $p = ($imgRef | Set-AzureVMSourceImage - VM $p );
1068
+
1069
+ # Test Tags
1070
+ $tags = @ {Name = " test1" ; Value = " testval1" }, @ { Name = " test2" ; Value = " testval2" };
1071
+ New-AzureVM - ResourceGroupName $rgname - Location $loc - Name $vmname - VM $p - Tags $tags ;
1072
+ $vm = Get-AzureVM - ResourceGroupName $rgname - Name $vmname ;
1073
+
1074
+ # Assert
1075
+ Assert-AreEqual $tags [0 ].Value $vm.Tags [$tags [0 ].Name ];
1076
+ Assert-AreEqual $tags [1 ].Value $vm.Tags [$tags [1 ].Name ];
1077
+ }
1078
+ finally
1079
+ {
1080
+ # Cleanup
1081
+ Clean - ResourceGroup $rgname
1082
+ }
1007
1083
}
0 commit comments