Skip to content

Commit 69ae2fc

Browse files
committed
[Storage] Update since PR view comments
1 parent 61cb0d6 commit 69ae2fc

10 files changed

+74
-139
lines changed

src/Storage/Storage.Management/Blob/DisableAzureStorageBlobDeleteRetentionPolicy.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,10 @@ public class DisableAzStorageBlobDeleteRetentionPolicyCommand : StorageBlobBaseC
7575
Position = 0,
7676
Mandatory = true,
7777
ValueFromPipelineByPropertyName = true,
78-
HelpMessage = "Blob Service Properties Resource Id.",
78+
HelpMessage = "Input a Storage account Resource Id, or a Blob service properties Resource Id.",
7979
ParameterSetName = PropertiesResourceIdParameterSet)]
80-
[Alias(ResourceIdAlias)]
8180
[ValidateNotNullOrEmpty]
82-
public string BlobServicePropertyResourceId { get; set; }
81+
public string ResourceId { get; set; }
8382

8483
[Parameter(Mandatory = false, HelpMessage = "Display ServiceProperties")]
8584
public SwitchParameter PassThru { get; set; }
@@ -96,9 +95,9 @@ public override void ExecuteCmdlet()
9695
this.StorageAccountName = StorageAccount.StorageAccountName;
9796
break;
9897
case PropertiesResourceIdParameterSet:
99-
ResourceIdentifier blobServicePropertiesResource = new ResourceIdentifier(BlobServicePropertyResourceId);
98+
ResourceIdentifier blobServicePropertiesResource = new ResourceIdentifier(ResourceId);
10099
this.ResourceGroupName = blobServicePropertiesResource.ResourceGroupName;
101-
this.StorageAccountName = PSBlobServiceProperties.GetStorageAccountNameFromBlobServicePropertiesResourceId(BlobServicePropertyResourceId);
100+
this.StorageAccountName = PSBlobServiceProperties.GetStorageAccountNameFromResourceId(ResourceId);
102101
break;
103102
default:
104103
// For AccountNameParameterSet, the ResourceGroupName and StorageAccountName can get from input directly

src/Storage/Storage.Management/Blob/EnableAzureStorageBlobDeleteRetentionPolicy.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,10 @@ public class EnableAzStorageBlobDeleteRetentionPolicyCommand : StorageBlobBaseCm
7575
Position = 0,
7676
Mandatory = true,
7777
ValueFromPipelineByPropertyName = true,
78-
HelpMessage = "Blob Service Properties Resource Id.",
78+
HelpMessage = "Input a Storage account Resource Id, or a Blob service properties Resource Id.",
7979
ParameterSetName = PropertiesResourceIdParameterSet)]
80-
[Alias(ResourceIdAlias)]
8180
[ValidateNotNullOrEmpty]
82-
public string BlobServicePropertyResourceId { get; set; }
81+
public string ResourceId { get; set; }
8382

8483
[Parameter(Mandatory = true, HelpMessage = "Sets the number of retention days for the DeleteRetentionPolicy.")]
8584
[Alias("Days")]
@@ -100,9 +99,9 @@ public override void ExecuteCmdlet()
10099
this.StorageAccountName = StorageAccount.StorageAccountName;
101100
break;
102101
case PropertiesResourceIdParameterSet:
103-
ResourceIdentifier blobServicePropertiesResource = new ResourceIdentifier(BlobServicePropertyResourceId);
102+
ResourceIdentifier blobServicePropertiesResource = new ResourceIdentifier(ResourceId);
104103
this.ResourceGroupName = blobServicePropertiesResource.ResourceGroupName;
105-
this.StorageAccountName = PSBlobServiceProperties.GetStorageAccountNameFromBlobServicePropertiesResourceId(BlobServicePropertyResourceId);
104+
this.StorageAccountName = PSBlobServiceProperties.GetStorageAccountNameFromResourceId(ResourceId);
106105
break;
107106
default:
108107
// For AccountNameParameterSet, the ResourceGroupName and StorageAccountName can get from input directly

src/Storage/Storage.Management/Blob/GetAzureStorageBlobServiceProperties.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,11 @@ public class GetAzStorageBlobServicePropertyCommand : StorageBlobBaseCmdlet
7575
Position = 0,
7676
Mandatory = true,
7777
ValueFromPipelineByPropertyName = true,
78-
HelpMessage = "Blob Service Properties Resource Id.",
78+
HelpMessage = "Input a Storage account Resource Id, or a Blob service properties Resource Id.",
7979
ParameterSetName = PropertiesResourceIdParameterSet)]
8080
[ValidateNotNullOrEmpty]
8181
public string ResourceId { get; set; }
8282

83-
[Parameter(Mandatory = false, HelpMessage = "Display ServiceProperties")]
84-
public SwitchParameter PassThru { get; set; }
85-
8683
public override void ExecuteCmdlet()
8784
{
8885
base.ExecuteCmdlet();
@@ -95,7 +92,7 @@ public override void ExecuteCmdlet()
9592
case PropertiesResourceIdParameterSet:
9693
ResourceIdentifier blobServicePropertiesResource = new ResourceIdentifier(ResourceId);
9794
this.ResourceGroupName = blobServicePropertiesResource.ResourceGroupName;
98-
this.StorageAccountName = PSBlobServiceProperties.GetStorageAccountNameFromBlobServicePropertiesResourceId(ResourceId);
95+
this.StorageAccountName = PSBlobServiceProperties.GetStorageAccountNameFromResourceId(ResourceId);
9996
break;
10097
default:
10198
// For AccountNameParameterSet, the ResourceGroupName and StorageAccountName can get from input directly

src/Storage/Storage.Management/Blob/StorageBlobBaseCmdlet.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ public abstract class StorageBlobBaseCmdlet : AzureRMCmdlet
2929
private StorageManagementClientWrapper storageClientWrapper;
3030

3131
protected const string AccountNameAlias = "AccountName";
32-
protected const string ResourceIdAlias = "ResourceId";
3332

3433
protected const string StorageContainerNounStr = "StorageContainer";
3534
protected const string StorageContainerImmutabilityPolicyNounStr = StorageContainerNounStr + "ImmutabilityPolicy";
@@ -38,6 +37,8 @@ public abstract class StorageBlobBaseCmdlet : AzureRMCmdlet
3837
protected const string StorageBlobServiceProperty = "StorageBlobServiceProperty";
3938
protected const string StorageBlobDeleteRetentionPolicy = "StorageBlobDeleteRetentionPolicy";
4039

40+
public const string StorageAccountResourceType = "Microsoft.Storage/storageAccounts";
41+
4142
public IStorageManagementClient StorageClient
4243
{
4344
get

src/Storage/Storage.Management/Blob/UpdateAzureStorageBlobServiceProperties.cs

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -44,21 +44,11 @@ public class UpdateAzStorageBlobServicePropertyCommand : StorageBlobBaseCmdlet
4444
/// </summary>
4545
private const string PropertiesResourceIdParameterSet = "BlobServicePropertiesResourceId";
4646

47-
/// <summary>
48-
/// AccountName Parameter Set
49-
/// </summary>
50-
private const string AccountNamePropertiesObjectParameterSet = "AccountNamePropertiesObject";
51-
5247
[Parameter(
5348
Position = 0,
5449
Mandatory = true,
5550
HelpMessage = "Resource Group Name.",
5651
ParameterSetName = AccountNameParameterSet)]
57-
[Parameter(
58-
Position = 0,
59-
Mandatory = true,
60-
HelpMessage = "Resource Group Name.",
61-
ParameterSetName = AccountNamePropertiesObjectParameterSet)]
6252
[ResourceGroupCompleter]
6353
[ValidateNotNullOrEmpty]
6454
public string ResourceGroupName { get; set; }
@@ -68,11 +58,6 @@ public class UpdateAzStorageBlobServicePropertyCommand : StorageBlobBaseCmdlet
6858
Mandatory = true,
6959
HelpMessage = "Storage Account Name.",
7060
ParameterSetName = AccountNameParameterSet)]
71-
[Parameter(
72-
Position = 1,
73-
Mandatory = true,
74-
HelpMessage = "Storage Account Name.",
75-
ParameterSetName = AccountNamePropertiesObjectParameterSet)]
7661
[ResourceNameCompleter("Microsoft.Storage/storageAccounts", nameof(ResourceGroupName))]
7762
[Alias(AccountNameAlias)]
7863
[ValidateNotNullOrEmpty]
@@ -89,7 +74,7 @@ public class UpdateAzStorageBlobServicePropertyCommand : StorageBlobBaseCmdlet
8974
Position = 0,
9075
Mandatory = true,
9176
ValueFromPipelineByPropertyName = true,
92-
HelpMessage = "Blob Service Properties Resource Id.",
77+
HelpMessage = "Input a Storage account Resource Id, or a Blob service properties Resource Id.",
9378
ParameterSetName = PropertiesResourceIdParameterSet)]
9479
[ValidateNotNullOrEmpty]
9580
public string ResourceId { get; set; }
@@ -98,10 +83,6 @@ public class UpdateAzStorageBlobServicePropertyCommand : StorageBlobBaseCmdlet
9883
[ValidateNotNull]
9984
public string DefaultServiceVersion { get; set; }
10085

101-
[Parameter(Mandatory = true, HelpMessage = "Blob service properties object to Set", ParameterSetName = AccountNamePropertiesObjectParameterSet, ValueFromPipeline = true)]
102-
[ValidateNotNullOrEmpty]
103-
public PSBlobServiceProperties BlobServiceProperty { get; set; }
104-
10586
public override void ExecuteCmdlet()
10687
{
10788
base.ExecuteCmdlet();
@@ -116,23 +97,15 @@ public override void ExecuteCmdlet()
11697
case PropertiesResourceIdParameterSet:
11798
ResourceIdentifier blobServicePropertiesResource = new ResourceIdentifier(ResourceId);
11899
this.ResourceGroupName = blobServicePropertiesResource.ResourceGroupName;
119-
this.StorageAccountName = PSBlobServiceProperties.GetStorageAccountNameFromBlobServicePropertiesResourceId(ResourceId);
100+
this.StorageAccountName = PSBlobServiceProperties.GetStorageAccountNameFromResourceId(ResourceId);
120101
break;
121102
default:
122103
// For AccountNameParameterSet, the ResourceGroupName and StorageAccountName can get from input directly
123104
break;
124105
}
125106
BlobServiceProperties serviceProperties = null;
126107

127-
// AccountNamePropertiesObjectParameterSet will update the whole blob service property
128-
if (ParameterSetName == AccountNamePropertiesObjectParameterSet)
129-
{
130-
serviceProperties = this.BlobServiceProperty.ParseBlobServiceProperties();
131-
}
132-
else //Other parameter set only update part of the blob service property
133-
{
134-
serviceProperties = this.StorageClient.BlobServices.GetServiceProperties(this.ResourceGroupName, this.StorageAccountName);
135-
}
108+
serviceProperties = this.StorageClient.BlobServices.GetServiceProperties(this.ResourceGroupName, this.StorageAccountName);
136109

137110
if (DefaultServiceVersion != null)
138111
{

src/Storage/Storage.Management/Models/PSBlobServiceProperties.cs

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public PSBlobServiceProperties()
4545
public PSBlobServiceProperties(BlobServiceProperties policy)
4646
{
4747
this.ResourceGroupName = (new ResourceIdentifier(policy.Id)).ResourceGroupName;
48-
this.StorageAccountName = GetStorageAccountNameFromBlobServicePropertiesResourceId(policy.Id);
48+
this.StorageAccountName = GetStorageAccountNameFromResourceId(policy.Id);
4949
this.Id = policy.Id;
5050
this.Name = policy.Name;
5151
this.Type = policy.Type;
@@ -63,11 +63,25 @@ public BlobServiceProperties ParseBlobServiceProperties()
6363
};
6464
}
6565

66-
public static string GetStorageAccountNameFromBlobServicePropertiesResourceId(string ResourceId)
66+
/// <summary>
67+
/// Get Storage Account Name from Storage Account Resource Id or a storage account child resource Id (e.g. BlobServiceProperties ResourceId)
68+
/// </summary>
69+
/// <param name="ResourceId">Storage Account Resource Id or a storage account child resource Id (e.g. BlobServiceProperties ResourceId)</param>
70+
/// <returns>Storage Account Name</returns>
71+
public static string GetStorageAccountNameFromResourceId(string ResourceId)
6772
{
68-
ResourceIdentifier blobServicePropertiesResource = new ResourceIdentifier(ResourceId);
69-
var parentResource = blobServicePropertiesResource.ParentResource.Split(new[] { '/' });
70-
return parentResource[parentResource.Length - 1];
73+
ResourceIdentifier resource = new ResourceIdentifier(ResourceId);
74+
if (resource.ResourceType.Equals(StorageBlobBaseCmdlet.StorageAccountResourceType))
75+
{
76+
//Storage Account Resource Id
77+
return resource.ResourceName;
78+
79+
}
80+
else //child resource Id(e.g.BlobServiceProperties ResourceId)
81+
{
82+
var parentResource = resource.ParentResource.Split(new[] { '/' });
83+
return parentResource[parentResource.Length - 1];
84+
}
7185
}
7286
}
7387

src/Storage/Storage.Management/help/Disable-AzStorageBlobDeleteRetentionPolicy.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Disable-AzStorageBlobDeleteRetentionPolicy -StorageAccount <PSStorageAccount> [-
2626

2727
### BlobServicePropertiesResourceId
2828
```
29-
Disable-AzStorageBlobDeleteRetentionPolicy [-BlobServicePropertyResourceId] <String> [-PassThru]
29+
Disable-AzStorageBlobDeleteRetentionPolicy [-ResourceId] <String> [-PassThru]
3030
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
3131
```
3232

@@ -48,21 +48,6 @@ This command disables delete retention policy for the Blob service.
4848

4949
## PARAMETERS
5050

51-
### -BlobServicePropertyResourceId
52-
Blob Service Properties Resource Id.
53-
54-
```yaml
55-
Type: System.String
56-
Parameter Sets: BlobServicePropertiesResourceId
57-
Aliases: ResourceId
58-
59-
Required: True
60-
Position: 0
61-
Default value: None
62-
Accept pipeline input: True (ByPropertyName)
63-
Accept wildcard characters: False
64-
```
65-
6651
### -DefaultProfile
6752
The credentials, account, tenant, and subscription used for communication with Azure.
6853

@@ -108,6 +93,21 @@ Accept pipeline input: False
10893
Accept wildcard characters: False
10994
```
11095
96+
### -ResourceId
97+
Input a Storage account Resource Id, or a Blob service properties Resource Id.
98+
99+
```yaml
100+
Type: System.String
101+
Parameter Sets: BlobServicePropertiesResourceId
102+
Aliases:
103+
104+
Required: True
105+
Position: 0
106+
Default value: None
107+
Accept pipeline input: True (ByPropertyName)
108+
Accept wildcard characters: False
109+
```
110+
111111
### -StorageAccount
112112
Storage account object
113113

src/Storage/Storage.Management/help/Enable-AzStorageBlobDeleteRetentionPolicy.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ Enable-AzStorageBlobDeleteRetentionPolicy -StorageAccount <PSStorageAccount> -Re
2727

2828
### BlobServicePropertiesResourceId
2929
```
30-
Enable-AzStorageBlobDeleteRetentionPolicy [-BlobServicePropertyResourceId] <String> -RetentionDays <Int32>
31-
[-PassThru] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
30+
Enable-AzStorageBlobDeleteRetentionPolicy [-ResourceId] <String> -RetentionDays <Int32> [-PassThru]
31+
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
3232
```
3333

3434
## DESCRIPTION
@@ -49,21 +49,6 @@ This command enables delete retention policy for the Blob service, and set delet
4949

5050
## PARAMETERS
5151

52-
### -BlobServicePropertyResourceId
53-
Blob Service Properties Resource Id.
54-
55-
```yaml
56-
Type: System.String
57-
Parameter Sets: BlobServicePropertiesResourceId
58-
Aliases: ResourceId
59-
60-
Required: True
61-
Position: 0
62-
Default value: None
63-
Accept pipeline input: True (ByPropertyName)
64-
Accept wildcard characters: False
65-
```
66-
6752
### -DefaultProfile
6853
The credentials, account, tenant, and subscription used for communication with Azure.
6954

@@ -109,6 +94,21 @@ Accept pipeline input: False
10994
Accept wildcard characters: False
11095
```
11196
97+
### -ResourceId
98+
Input a Storage account Resource Id, or a Blob service properties Resource Id.
99+
100+
```yaml
101+
Type: System.String
102+
Parameter Sets: BlobServicePropertiesResourceId
103+
Aliases:
104+
105+
Required: True
106+
Position: 0
107+
Default value: None
108+
Accept pipeline input: True (ByPropertyName)
109+
Accept wildcard characters: False
110+
```
111+
112112
### -RetentionDays
113113
Sets the number of retention days for the DeleteRetentionPolicy.
114114

src/Storage/Storage.Management/help/Get-AzStorageBlobServiceProperty.md

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@ Gets service properties for Azure Storage Blob services.
1414

1515
### AccountName (Default)
1616
```
17-
Get-AzStorageBlobServiceProperty [-ResourceGroupName] <String> [-StorageAccountName] <String> [-PassThru]
17+
Get-AzStorageBlobServiceProperty [-ResourceGroupName] <String> [-StorageAccountName] <String>
1818
[-DefaultProfile <IAzureContextContainer>] [<CommonParameters>]
1919
```
2020

2121
### AccountObject
2222
```
23-
Get-AzStorageBlobServiceProperty -StorageAccount <PSStorageAccount> [-PassThru]
24-
[-DefaultProfile <IAzureContextContainer>] [<CommonParameters>]
23+
Get-AzStorageBlobServiceProperty -StorageAccount <PSStorageAccount> [-DefaultProfile <IAzureContextContainer>]
24+
[<CommonParameters>]
2525
```
2626

2727
### BlobServicePropertiesResourceId
2828
```
29-
Get-AzStorageBlobServiceProperty [-ResourceId] <String> [-PassThru] [-DefaultProfile <IAzureContextContainer>]
29+
Get-AzStorageBlobServiceProperty [-ResourceId] <String> [-DefaultProfile <IAzureContextContainer>]
3030
[<CommonParameters>]
3131
```
3232

@@ -63,21 +63,6 @@ Accept pipeline input: False
6363
Accept wildcard characters: False
6464
```
6565
66-
### -PassThru
67-
Display ServiceProperties
68-
69-
```yaml
70-
Type: System.Management.Automation.SwitchParameter
71-
Parameter Sets: (All)
72-
Aliases:
73-
74-
Required: False
75-
Position: Named
76-
Default value: None
77-
Accept pipeline input: False
78-
Accept wildcard characters: False
79-
```
80-
8166
### -ResourceGroupName
8267
Resource Group Name.
8368

0 commit comments

Comments
 (0)