Skip to content

Commit 5adba8b

Browse files
authored
[Compute] DiskRP 2020_12_01 New and Changed Cmdlets (#15297)
* DiskRP changes * undoing azsnapshotupdate changes * fixing exported cmd name * Changes for DiskRP * Adding more tests * changelog and fix * Adding help * Help changes * online version of help Set-AzDiskSecurityProfile * indentation and shouldprocess * Output type for Set-AzDiskSecurityProfile * test failure * Adding help and more changes * adding test back and change
1 parent 3976e02 commit 5adba8b

30 files changed

+6377
-44
lines changed

src/Compute/Compute.Test/ScenarioTests/DiskRPTests.cs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,5 +121,41 @@ public void TestSnapshotDuplicateCreationFails()
121121
{
122122
TestRunner.RunTestScript("Test-SnapshotDuplicateCreationFails");
123123
}
124+
125+
[Fact]
126+
[Trait(Category.AcceptanceType, Category.CheckIn)]
127+
public void TestDiskPurchasePlan()
128+
{
129+
TestRunner.RunTestScript("Test-DiskPurchasePlan");
130+
}
131+
132+
[Fact]
133+
[Trait(Category.AcceptanceType, Category.CheckIn)]
134+
public void TestDiskSupportsHibernation()
135+
{
136+
TestRunner.RunTestScript("Test-SupportsHibernation");
137+
}
138+
139+
[Fact]
140+
[Trait(Category.AcceptanceType, Category.CheckIn)]
141+
public void TestDiskSkuPremiumZRSStandardSSDZRS()
142+
{
143+
TestRunner.RunTestScript("Test-DiskSkuPremiumZRSStandardSSDZRS");
144+
}
145+
146+
[Fact]
147+
[Trait(Category.AcceptanceType, Category.LiveOnly)]
148+
public void TestSecurityProfile()
149+
{
150+
TestRunner.RunTestScript("Test-SecurityProfile");
151+
}
152+
153+
[Fact]
154+
[Trait(Category.AcceptanceType, Category.CheckIn)]
155+
public void TestAutomaticKeyRotation()
156+
{
157+
TestRunner.RunTestScript("Test-AutomaticKeyRotation");
158+
}
159+
124160
}
125161
}

src/Compute/Compute.Test/ScenarioTests/DiskRPTests.ps1

Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1407,3 +1407,180 @@ function Test-EdgeZoneConfigurations
14071407
Clean-ResourceGroup $rgname
14081408
}
14091409
}
1410+
1411+
<#
1412+
.SYNOPSIS
1413+
Test the New-AzDiskPurchasePlanConfig and New-AzDisk with PurchasePlan param
1414+
Also Test New-AzSnapshotConfig and New-AzDiskUpdateConfig
1415+
#>
1416+
function Test-DiskPurchasePlan
1417+
{
1418+
$rgname = Get-ComputeTestResourceName;
1419+
$loc = "eastus2";
1420+
1421+
try{
1422+
1423+
New-AzResourceGroup -Name $rgname -Location $loc -Force;
1424+
$diskPurchasePlan = New-AzDiskPurchasePlanConfig -Name "planName" -Publisher "planPublisher" -Product "planPorduct" -PromotionCode "planPromotionCode";
1425+
$diskconfig = New-AzDiskConfig -Location $loc -DiskSizeGB 1 -AccountType "Premium_LRS" -OsType "Windows" -CreateOption "Empty" -HyperVGeneration "V1" -PurchasePlan $diskPurchasePlan;
1426+
$diskname = "disk" + $rgname;
1427+
$disk = New-AzDisk -ResourceGroupName $rgname -DiskName $diskname -Disk $diskconfig;
1428+
Assert-AreEqual $disk.PurchasePlan.Product "planPorduct";
1429+
Assert-AreEqual $disk.PurchasePlan.PromotionCode "planPromotionCode";
1430+
Assert-AreEqual $disk.PurchasePlan.Publisher "planPublisher";
1431+
Assert-AreEqual $disk.PurchasePlan.Name "planName";
1432+
1433+
$diskPurchasePlanUpdate = New-AzDiskPurchasePlanConfig -Name "planNameupdate" -Publisher "planPublisherupdate" -Product "planPorductupdate" -PromotionCode "planPromotionCodeupdate";
1434+
$updateconfig = New-AzDiskUpdateConfig -PurchasePlan $diskPurchasePlanUpdate;
1435+
$disk = Update-AzDisk -ResourceGroupName $rgname -DiskName $diskname -DiskUpdate $updateconfig;
1436+
Assert-AreEqual $disk.PurchasePlan.Product "planPorductupdate";
1437+
Assert-AreEqual $disk.PurchasePlan.PromotionCode "planPromotionCodeupdate";
1438+
Assert-AreEqual $disk.PurchasePlan.Publisher "planPublisherupdate";
1439+
Assert-AreEqual $disk.PurchasePlan.Name "planNameupdate";
1440+
$snapshotConfig = New-AzSnapshotConfig -Location 'Central US' -DiskSizeGB 5 -AccountType Standard_LRS -OsType Windows -CreateOption Empty -PurchasePlan $diskPurchasePlan;
1441+
New-AzSnapshot -ResourceGroupName $rgname -SnapshotName 'Snapshot02' -Snapshot $snapshotConfig;
1442+
$snapshot = Get-AzSnapshot -ResourceGroupName $rgname -SnapshotName 'Snapshot02';
1443+
Assert-AreEqual $snapshot.PurchasePlan.Product "planPorduct";
1444+
Assert-AreEqual $snapshot.PurchasePlan.PromotionCode "planPromotionCode";
1445+
Assert-AreEqual $snapshot.PurchasePlan.Publisher "planPublisher";
1446+
Assert-AreEqual $snapshot.PurchasePlan.Name "planName";
1447+
}
1448+
1449+
finally{
1450+
# Cleanup
1451+
Clean-ResourceGroup $rgname
1452+
}
1453+
}
1454+
1455+
<#
1456+
.SYNOPSIS
1457+
Test Disk Sku Premium_ZRS and StandardSSD_ZRS
1458+
#>
1459+
function Test-DiskSkuPremiumZRSStandardSSDZRS
1460+
{
1461+
$rgname = Get-ComputeTestResourceName;
1462+
$loc = "eastus2euap";
1463+
1464+
try
1465+
{
1466+
New-AzResourceGroup -Name $rgname -Location $loc -Force;
1467+
$diskConfig = New-AzDiskConfig -Location $loc -SkuName 'Premium_ZRS' -CreateOption 'Empty' -DiskSizeGB 2;
1468+
$diskname = "disk" + $rgname;
1469+
$diskPr = New-AzDisk -ResourceGroupName $rgname -DiskName $diskname -Disk $diskConfig;
1470+
$disk = Get-AzDisk -ResourceGroupName $rgname -DiskName $diskname;
1471+
Assert-AreEqual $disk.Sku.Name "Premium_ZRS";
1472+
$diskupdateconfig = New-AzDiskUpdateConfig -SkuName 'StandardSSD_ZRS';
1473+
Update-AzDisk -ResourceGroupName $rgname -DiskName $diskname -DiskUpdate $diskupdateconfig;
1474+
$updatedDisk = Get-AzDisk -ResourceGroupName $rgname -DiskName $diskname;
1475+
Assert-AreEqual $updatedDisk.Sku.Name "StandardSSD_ZRS";
1476+
}
1477+
finally
1478+
{
1479+
# Cleanup
1480+
Clean-ResourceGroup $rgname
1481+
}
1482+
}
1483+
1484+
<#
1485+
.SYNOPSIS
1486+
Test Set-AzDiskSecurityProfile
1487+
#>
1488+
function Test-SecurityProfile
1489+
{
1490+
$rgname = Get-ComputeTestResourceName;
1491+
$loc = "eastus2";
1492+
1493+
try
1494+
{
1495+
New-AzResourceGroup -Name $rgname -Location $loc -Force;
1496+
1497+
$diskconfig = New-AzDiskConfig -Location $loc -DiskSizeGB 1 -AccountType "Premium_LRS" -OsType "Windows" -CreateOption "Empty" -HyperVGeneration "V1";
1498+
$diskname = "disk" + $rgname;
1499+
$diskconfig = Set-AzDiskSecurityProfile -Disk $diskconfig -SecurityType "TrustedLaunch";
1500+
$diskPr = New-AzDisk -ResourceGroupName $rgname -DiskName $diskname -Disk $diskconfig;
1501+
$diskconfig = New-AzDiskConfig -Location $loc -DiskSizeGB 1 -AccountType "Premium_LRS" -OsType "Windows" -CreateOption "Empty" -HyperVGeneration "V1";
1502+
$diskname = "disk" + $rgname;
1503+
$diskSt = New-AzDisk -ResourceGroupName $rgname -DiskName $diskname -Disk $diskconfig;
1504+
$snapshotconfig = New-AzSnapshotConfig -Location $loc -EdgeZone $edge -DiskSizeGB 5 -SkuName Premium_LRS -OsType Windows -CreateOption Empty;
1505+
$snapshotname = "snapshot" + $rgname;
1506+
$snapshot = New-AzSnapshot -ResourceGroupName $rgname -SnapshotName $snapshotname -Snapshot $snapshotconfig;
1507+
Assert-AreEqual $snapshot.Location $loc;
1508+
Assert-AreEqual $snapshot.ExtendedLocation.Name $edge;
1509+
$imageConfig = New-AzImageConfig -Location $loc -EdgeZone $edge -HyperVGeneration "V1";
1510+
Assert-AreEqual $imageConfig.ExtendedLocation.Name $edge;
1511+
}
1512+
finally
1513+
{
1514+
# Cleanup
1515+
Clean-ResourceGroup $rgname
1516+
}
1517+
}
1518+
1519+
<#
1520+
.SYNOPSIS
1521+
Test SupportsHibernation Parameter
1522+
#>
1523+
function Test-SupportsHibernation
1524+
{
1525+
$rgname = Get-ComputeTestResourceName;
1526+
$loc = "eastus2euap";
1527+
1528+
try{
1529+
New-AzResourceGroup -Name $rgname -Location $loc -Force;
1530+
$diskConfig = New-AzDiskConfig -Location 'eastus2euap' -AccountType 'Premium_LRS' -CreateOption 'Empty' -DiskSizeGB 2 -SupportsHibernation $true;
1531+
$diskname = "disk" + $rgname;
1532+
New-AzDisk -ResourceGroupName $rgname -DiskName $diskname -Disk $diskConfig;
1533+
$disk = Get-AzDisk -ResourceGroupName $rgname -DiskName $diskname;
1534+
Assert-AreEqual $disk.SupportsHibernation $true;
1535+
1536+
$updateconfig = New-AzDiskUpdateConfig -SupportsHibernation $false;
1537+
$disk = Update-AzDisk -ResourceGroupName $rgname -DiskName $diskname -DiskUpdate $updateconfig;
1538+
Assert-AreEqual $disk.SupportsHibernation $false;
1539+
1540+
$snapshotConfig = New-AzSnapshotConfig -Location $loc -DiskSizeGB 5 -AccountType Standard_LRS -OsType Windows -CreateOption Empty -SupportsHibernation $true;
1541+
$snapshotname = "snapshot" + $rgname;
1542+
New-AzSnapshot -ResourceGroupName $rgname -SnapshotName $snapshotname -Snapshot $snapshotConfig;
1543+
$snapshot = Get-AzSnapshot -ResourceGroupName $rgname -SnapshotName $snapshotname;
1544+
Assert-AreEqual $snapshot.SupportsHibernation $true;
1545+
1546+
$snapshot = Get-AzSnapshot -ResourceGroupName $rgname -SnapshotName $snapshotname;
1547+
$snapshotUpdateConfig = New-AzSnapshotUpdateConfig -SupportsHibernation $false;
1548+
Update-AzSnapshot -ResourceGroupName $rgname -SnapshotName $snapshotname -SnapshotUpdate $snapshotUpdateConfig;
1549+
$newSnapshot = Get-AzSnapshot -ResourceGroupName $rgname -SnapshotName $snapshotname;
1550+
Assert-AreEqual $newSnapshot.SupportsHibernation $false;
1551+
}
1552+
finally
1553+
{
1554+
# Cleanup
1555+
Clean-ResourceGroup $rgname
1556+
}
1557+
}
1558+
1559+
<#
1560+
.SYNOPSIS
1561+
Test AutomaticKeyRotation parameter
1562+
#>
1563+
function Test-AutomaticKeyRotation
1564+
{
1565+
$rgname = Get-ComputeTestResourceName;
1566+
$loc = "eastus2euap";
1567+
1568+
try
1569+
{
1570+
New-AzResourceGroup -Name $rgname -Location $loc -Force;
1571+
$config = New-AzDiskEncryptionSetConfig -Location 'eastus2' -KeyUrl "https://diskrptest.vault.azure.net/keys/test2/f8d94ab139cf4596a947a27f1de7bef8" -SourceVaultId '/subscriptions/e37510d7-33b6-4676-886f-ee75bcc01871/resourceGroups/haagha_pwshelltest/providers/Microsoft.KeyVault/vaults/diskrptest' -IdentityType 'SystemAssigned' -RotationToLatestKeyVersionEnabled $true;
1572+
New-AzDiskEncryptionSet -ResourceGroupName $rgname -Name 'encd1' -DiskEncryptionSet $config;
1573+
$des = Get-AzDiskEncryptionSet -ResourceGroupName $rgname -Name 'encd1';
1574+
Assert-AreEqual $des.RotationToLatestKeyVersionEnabled $true;
1575+
1576+
Update-AzDiskEncryptionSet -ResourceGroupName $rgname -Name 'encd1' -RotationToLatestKeyVersionEnabled $false;
1577+
$desUpdated = Get-AzDiskEncryptionSet -ResourceGroupName $rgname -Name 'encd1';
1578+
Assert-AreEqual $desUpdated.RotationToLatestKeyVersionEnabled $false;
1579+
1580+
}
1581+
finally
1582+
{
1583+
# Cleanup
1584+
Clean-ResourceGroup $rgname
1585+
}
1586+
}

0 commit comments

Comments
 (0)