@@ -342,9 +342,12 @@ Describe "Management plan test" {
342
342
343
343
$accountNameLc1 = $accountName + " lc1"
344
344
$accountNameLc2 = $accountName + " lc2"
345
+ $accountNamePremium = $accountName + " prem"
345
346
346
347
New-AzStorageAccount - ResourceGroupName $rgname - Name $accountNameLc1 - SkuName Standard_LRS - Location eastus
347
348
New-AzStorageAccount - ResourceGroupName $rgname - Name $accountNameLc2 - SkuName Standard_LRS - Location eastus
349
+ # create account for TierToHot
350
+ New-AzStorageAccount - ResourceGroupName $rgname - Name $accountNamePremium - SkuName Premium_LRS - Location eastus2 - Kind BlockBlobStorage
348
351
349
352
# Resource id for storage account 2
350
353
$id = (Get-AzStorageAccount - ResourceGroupName $rgname - Name $accountNameLc2 ).Id
@@ -391,10 +394,19 @@ Describe "Management plan test" {
391
394
$rule2.Definition.Filters.PrefixMatch | should - be $null
392
395
$rule2.Definition.Filters.BlobTypes.Count | should - be 2
393
396
397
+ # create Rule3
398
+ $action3 = Add-AzStorageAccountManagementPolicyAction - BaseBlobAction TierToCold - DaysAfterCreationGreaterThan 50
399
+ $action3 = Add-AzStorageAccountManagementPolicyAction - InputObject $action3 - BaseBlobAction TierToCool - DaysAfterModificationGreaterThan 100
400
+ $action3 = Add-AzStorageAccountManagementPolicyAction - InputObject $action3 - SnapshotAction TierToCold - DaysAfterCreationGreaterThan 50
401
+ $action3 = Add-AzStorageAccountManagementPolicyAction - InputObject $action3 - BlobVersionAction TierToCold - DaysAfterCreationGreaterThan 100
402
+ $filter3 = New-AzStorageAccountManagementPolicyFilter - PrefixMatch prefix1, prefix2
403
+ $rule3 = New-AzStorageAccountManagementPolicyRule - Name Test3 - Action $action3 - Filter $filter3
404
+
405
+
394
406
# (Option 1) Set the 2 rules together
395
- $policy = Set-AzStorageAccountManagementPolicy - ResourceGroupName $rgname - StorageAccountName $accountNameLc1 - Rule $rule1 , $rule2
396
- $policy = Set-AzStorageAccountManagementPolicy - StorageAccountResourceId $id - Rule $rule1 , $rule2
397
- $policy.Rules.Count | should - Be 2
407
+ $policy = Set-AzStorageAccountManagementPolicy - ResourceGroupName $rgname - StorageAccountName $accountNameLc1 - Rule $rule1 , $rule2 , $rule3
408
+ $policy = Set-AzStorageAccountManagementPolicy - StorageAccountResourceId $id - Rule $rule1 , $rule2 , $rule3
409
+ $policy.Rules.Count | should - Be 3
398
410
$policy.Rules [0 ].Enabled | should - Be $true
399
411
$policy.Rules [0 ].Name | should - be Test
400
412
$policy.Rules [0 ].Definition.Actions.BaseBlob.TierToCool.daysAfterCreationGreaterThan | should - be 30
@@ -420,6 +432,14 @@ Describe "Management plan test" {
420
432
$policy.Rules [1 ].Definition.Actions.Version | should - be $null
421
433
$policy.Rules [1 ].Definition.Filters.PrefixMatch | should - be $null
422
434
$policy.Rules [1 ].Definition.Filters.BlobTypes.Count | should - be 2
435
+ $policy.Rules [2 ].Name | Should - Be Test3
436
+ $policy.Rules [2 ].Enabled | Should - Be $true
437
+ $policy.Rules [2 ].Definition.Filters.BlobTypes.Count | Should - Be 1
438
+ $policy.Rules [2 ].Definition.Actions.BaseBlob.TierToCold.DaysAfterCreationGreaterThan | Should - Be 50
439
+ $policy.Rules [2 ].Definition.Actions.BaseBlob.TierToCool.DaysAfterModificationGreaterThan | Should - Be 100
440
+ $policy.Rules [2 ].Definition.Actions.Snapshot.TierToCold.DaysAfterCreationGreaterThan | Should - Be 50
441
+ $policy.Rules [2 ].Definition.Actions.Version.TierToCold.DaysAfterCreationGreaterThan | Should - Be 100
442
+ $policy.Rules [2 ].Definition.Filters.PrefixMatch.Count | Should - Be 2
423
443
424
444
# (Option 2) Set Policy with 1 command
425
445
$policy = Set-AzStorageAccountManagementPolicy - ResourceGroupName $rgname - StorageAccountName $accountNameLc1 - Policy (@ {
@@ -463,9 +483,31 @@ Describe "Management plan test" {
463
483
BlobTypes = @ (" blockBlob" , " appendblob" );
464
484
})
465
485
})
486
+ },
487
+ @ {
488
+ Enabled = $true ;
489
+ Name = " Test3" ;
490
+ Definition = (@ {
491
+ Actions = (@ {
492
+ BaseBlob = (@ {
493
+ TierToCold = @ {DaysAfterCreationGreaterThan = 50 };
494
+ TierToCool = @ {DaysAfterModificationGreaterThan = 100 };
495
+ });
496
+ Snapshot = (@ {
497
+ TierToCold = @ {DaysAfterCreationGreaterThan = 50 }
498
+ });
499
+ Version = (@ {
500
+ TierToCold = @ {DaysAfterCreationGreaterThan = 100 };
501
+ });
502
+ });
503
+ Filters = (@ {
504
+ BlobTypes = @ (" blockBlob" );
505
+ PrefixMatch = @ (" prefix1" , " prefix2" );
506
+ })
507
+ })
466
508
})
467
509
})
468
- $policy.Rules.Count | should - Be 2
510
+ $policy.Rules.Count | should - Be 3
469
511
$policy.Rules [0 ].Enabled | should - Be $true
470
512
$policy.Rules [0 ].Name | should - be Test
471
513
$policy.Rules [0 ].Definition.Actions.BaseBlob.TierToCool.DaysAfterCreationGreaterThan | should - be 30
@@ -491,19 +533,66 @@ Describe "Management plan test" {
491
533
$policy.Rules [1 ].Definition.Actions.Version | should - be $null
492
534
$policy.Rules [1 ].Definition.Filters.PrefixMatch | should - be $null
493
535
$policy.Rules [1 ].Definition.Filters.BlobTypes.Count | should - be 2
536
+ $policy.Rules [2 ].Name | Should - Be Test3
537
+ $policy.Rules [2 ].Enabled | Should - Be $true
538
+ $policy.Rules [2 ].Definition.Filters.BlobTypes.Count | Should - Be 1
539
+ $policy.Rules [2 ].Definition.Actions.BaseBlob.TierToCold.DaysAfterCreationGreaterThan | Should - Be 50
540
+ $policy.Rules [2 ].Definition.Actions.BaseBlob.TierToCool.DaysAfterModificationGreaterThan | Should - Be 100
541
+ $policy.Rules [2 ].Definition.Actions.Snapshot.TierToCold.DaysAfterCreationGreaterThan | Should - Be 50
542
+ $policy.Rules [2 ].Definition.Actions.Version.TierToCold.DaysAfterCreationGreaterThan | Should - Be 100
543
+ $policy.Rules [2 ].Definition.Filters.PrefixMatch.Count | Should - Be 2
544
+
494
545
495
546
$policy2 = Get-AzStorageAccountManagementPolicy - StorageAccountResourceId $id | Set-AzStorageAccountManagementPolicy - ResourceGroupName $rgname - StorageAccountName $accountNameLc2
496
- $policy2.Rules.Count | should - Be 2
547
+ $policy2.Rules.Count | should - Be 3
497
548
498
549
$policy2 = Get-AzStorageAccountManagementPolicy - ResourceGroupName $rgname - StorageAccountName $accountNameLc2
499
- $policy2.Rules.Count | should - Be 2
550
+ $policy2.Rules.Count | should - Be 3
551
+
552
+
553
+ # TierToHot
554
+ $action4 = Add-AzStorageAccountManagementPolicyAction - BaseBlobAction TierToHot - DaysAfterCreationGreaterThan 50
555
+ $action4 = Add-AzStorageAccountManagementPolicyAction - InputObject $action4 - BaseBlobAction TierToCool - DaysAfterCreationGreaterThan 100
556
+ $filter4 = New-AzStorageAccountManagementPolicyFilter - PrefixMatch prefix1, prefix2
557
+ $rule4 = New-AzStorageAccountManagementPolicyRule - Name Test4 - Action $action4 - Filter $filter4
558
+
559
+ $policy = Set-AzStorageAccountManagementPolicy - ResourceGroupName $rgname - StorageAccountName $accountNamePremium - Rule $rule4
560
+ $policy.Rules.Count | Should - Be 1
561
+ $policy.Rules [0 ].Enabled | Should - Be $true
562
+ $policy.Rules [0 ].Name | Should - Be " Test4"
563
+ $policy.Rules [0 ].Definition.Actions.BaseBlob.TierToHot.DaysAfterCreationGreaterThan | Should - Be 50
564
+ $policy.Rules [0 ].Definition.Actions.BaseBlob.TierToCool.DaysAfterCreationGreaterThan | Should - Be 100
565
+ $policy.Rules [0 ].Definition.Filters.PrefixMatch.Count | Should - Be 2
566
+
567
+ $policy = Set-AzStorageAccountManagementPolicy - ResourceGroupName $rgname - StorageAccountName $accountNamePremium - Policy (@ {
568
+ Rules = (@ {
569
+ Enabled = $false ;
570
+ Name = " Test5" ;
571
+ Definition = (@ {
572
+ Actions = (@ {
573
+ BaseBlob = (@ {
574
+ TierToHot = @ {DaysAfterCreationGreaterThan = 100 };
575
+ });
576
+ });
577
+ Filters = (@ {
578
+ BlobTypes = @ (" blockBlob" , " appendblob" );
579
+ })
580
+ })
581
+ })
582
+ })
583
+ $policy.Rules.Count | Should - Be 1
584
+ $policy.Rules.Name | Should - Be " Test5"
585
+ $policy.Rules [0 ].Enabled | Should - Be $false
586
+ $policy.Rules [0 ].Definition.Actions.BaseBlob.TierToHot.DaysAfterCreationGreaterThan | Should - Be 100
587
+ $policy.Rules [0 ].Definition.Filters.BlobTypes.Count | Should - Be 2
500
588
501
589
Remove-AzStorageAccountManagementPolicy - ResourceGroupName $rgname - StorageAccountName $accountNameLc1 - PassThru
502
590
503
591
get-Azstorageaccount - ResourceGroupName $rgname - Name $accountNameLc1 | Remove-AzStorageAccountManagementPolicy
504
592
505
593
Get-AzStorageAccount - ResourceGroupName $rgname - Name $accountNameLc1 | Remove-AzStorageAccount - Force
506
- Remove-AzStorageAccount - ResourceGroupName $rgname - Name $accountNameLc2 - Force
594
+ Remove-AzStorageAccount - ResourceGroupName $rgname - Name $accountNameLc2 - Force - AsJob
595
+ Remove-AzStorageAccount - ResourceGroupName $rgname - Name $accountNamePremium - Force - AsJob
507
596
508
597
$Error.Count | should - be 0
509
598
}
0 commit comments