Skip to content

Commit 37e674c

Browse files
committed
[Storage] Support NSP
1 parent 865a97e commit 37e674c

23 files changed

+1507
-788
lines changed

src/Storage/Storage.Autorest/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
[assembly: System.Reflection.AssemblyCopyrightAttribute("Copyright © Microsoft")]
2121
[assembly: System.Reflection.AssemblyProductAttribute("Microsoft Azure PowerShell")]
2222
[assembly: System.Reflection.AssemblyTitleAttribute("Microsoft Azure PowerShell - Storage")]
23-
[assembly: System.Reflection.AssemblyFileVersionAttribute("9.1.0")]
24-
[assembly: System.Reflection.AssemblyVersionAttribute("9.1.0")]
23+
[assembly: System.Reflection.AssemblyFileVersionAttribute("9.2.0")]
24+
[assembly: System.Reflection.AssemblyVersionAttribute("9.2.0")]
2525
[assembly: System.Runtime.InteropServices.ComVisibleAttribute(false)]
2626
[assembly: System.CLSCompliantAttribute(false)]

src/Storage/Storage.Autorest/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ input-file:
3636
- $(repo)/specification/storage/resource-manager/Microsoft.Storage/stable/2025-01-01/storage.json
3737
- $(repo)/specification/storage/resource-manager/Microsoft.Storage/stable/2025-01-01/file.json
3838
- $(repo)/specification/storage/resource-manager/Microsoft.Storage/stable/2025-01-01/storageTaskAssignments.json
39+
- $(repo)/specification/storage/resource-manager/Microsoft.Storage/stable/2025-01-01/networkSecurityPerimeter.json
3940

4041
# For new RP, the version is 0.1.0
4142
module-version: 5.9.1
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
{
2+
"resourceType": "storageAccounts/networkSecurityPerimeterConfigurations",
3+
"apiVersion": "2025-01-01",
4+
"learnMore": {
5+
"url": "https://learn.microsoft.com/powershell/module/az.storage"
6+
},
7+
"commands": [
8+
{
9+
"name": "Get-AzStorageNetworkSecurityPerimeterConfiguration",
10+
"description": "Gets effective NetworkSecurityPerimeterConfiguration for association",
11+
"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/networkSecurityPerimeterConfigurations/{networkSecurityPerimeterConfigurationName}",
12+
"help": {
13+
"learnMore": {
14+
"url": "https://learn.microsoft.com/powershell/module/az.storage/get-azstoragenetworksecurityperimeterconfiguration"
15+
},
16+
"parameterSets": [
17+
{
18+
"parameters": [
19+
"-AccountName <String>",
20+
"-Name <String>",
21+
"-ResourceGroupName <String>",
22+
"[-SubscriptionId <String[]>]"
23+
]
24+
}
25+
]
26+
},
27+
"examples": [
28+
{
29+
"description": "Gets effective NetworkSecurityPerimeterConfiguration for association",
30+
"parameters": [
31+
{
32+
"name": "-AccountName",
33+
"value": "[Path.accountName]"
34+
},
35+
{
36+
"name": "-Name",
37+
"value": "[Path.networkSecurityPerimeterConfigurationName]"
38+
},
39+
{
40+
"name": "-ResourceGroupName",
41+
"value": "[Path.resourceGroupName]"
42+
},
43+
{
44+
"name": "-SubscriptionId",
45+
"value": "[Path.subscriptionId]"
46+
}
47+
]
48+
}
49+
]
50+
},
51+
{
52+
"name": "Invoke-AzStorageReconcileNetworkSecurityPerimeterConfiguration",
53+
"description": "Refreshes any information about the association.",
54+
"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/networkSecurityPerimeterConfigurations/{networkSecurityPerimeterConfigurationName}/reconcile",
55+
"help": {
56+
"learnMore": {
57+
"url": "https://learn.microsoft.com/powershell/module/az.storage/invoke-azstoragereconcilenetworksecurityperimeterconfiguration"
58+
},
59+
"parameterSets": [
60+
{
61+
"parameters": [
62+
"-AccountName <String>",
63+
"-NetworkSecurityPerimeterConfigurationName <String>",
64+
"-ResourceGroupName <String>",
65+
"[-SubscriptionId <String>]"
66+
]
67+
}
68+
]
69+
},
70+
"examples": [
71+
{
72+
"description": "Refreshes any information about the association.",
73+
"parameters": [
74+
{
75+
"name": "-AccountName",
76+
"value": "[Path.accountName]"
77+
},
78+
{
79+
"name": "-NetworkSecurityPerimeterConfigurationName",
80+
"value": "[Path.networkSecurityPerimeterConfigurationName]"
81+
},
82+
{
83+
"name": "-ResourceGroupName",
84+
"value": "[Path.resourceGroupName]"
85+
},
86+
{
87+
"name": "-SubscriptionId",
88+
"value": "[Path.subscriptionId]"
89+
}
90+
]
91+
}
92+
]
93+
}
94+
]
95+
}

src/Storage/Storage.Autorest/docs/Az.Storage.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
Module Name: Az.Storage
3-
Module Guid: 4deee175-f94f-4dfd-80d5-fd7c43018494
3+
Module Guid: 983607ec-bcd9-4156-87aa-ab77eadbbc36
44
Download Help Link: https://learn.microsoft.com/powershell/module/az.storage
55
Help Version: 1.0.0.0
66
Locale: en-US
@@ -17,6 +17,9 @@ Gets the status of the ongoing migration for the specified storage account.
1717
### [Get-AzStorageFileServiceUsage](Get-AzStorageFileServiceUsage.md)
1818
Gets the usage of file service in storage account including account limits, file share limits and constants used in recommendations and bursting formula.
1919

20+
### [Get-AzStorageNetworkSecurityPerimeterConfiguration](Get-AzStorageNetworkSecurityPerimeterConfiguration.md)
21+
Gets effective NetworkSecurityPerimeterConfiguration for association
22+
2023
### [Get-AzStorageSku](Get-AzStorageSku.md)
2124
Lists the available SKUs supported by Microsoft.Storage for given subscription.
2225

@@ -26,6 +29,9 @@ Get the storage task assignment properties
2629
### [Get-AzStorageTaskAssignmentInstancesReport](Get-AzStorageTaskAssignmentInstancesReport.md)
2730
Fetch the report summary of a single storage task assignment's instances
2831

32+
### [Invoke-AzStorageReconcileNetworkSecurityPerimeterConfiguration](Invoke-AzStorageReconcileNetworkSecurityPerimeterConfiguration.md)
33+
Refreshes any information about the association.
34+
2935
### [New-AzStorageTaskAssignment](New-AzStorageTaskAssignment.md)
3036
Asynchronously create a new storage task assignment sub-resource with the specified parameters.
3137
If a storage task assignment is already created and a subsequent create request is issued with different properties, the storage task assignment properties will be updated.
Lines changed: 232 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,232 @@
1+
---
2+
external help file:
3+
Module Name: Az.Storage
4+
online version: https://learn.microsoft.com/powershell/module/az.storage/get-azstoragenetworksecurityperimeterconfiguration
5+
schema: 2.0.0
6+
---
7+
8+
# Get-AzStorageNetworkSecurityPerimeterConfiguration
9+
10+
## SYNOPSIS
11+
Gets effective NetworkSecurityPerimeterConfiguration for association
12+
13+
## SYNTAX
14+
15+
### List (Default)
16+
```
17+
Get-AzStorageNetworkSecurityPerimeterConfiguration -AccountName <String> -ResourceGroupName <String>
18+
[-SubscriptionId <String[]>] [-DefaultProfile <PSObject>] [<CommonParameters>]
19+
```
20+
21+
### Get
22+
```
23+
Get-AzStorageNetworkSecurityPerimeterConfiguration -AccountName <String> -Name <String>
24+
-ResourceGroupName <String> [-SubscriptionId <String[]>] [-DefaultProfile <PSObject>] [<CommonParameters>]
25+
```
26+
27+
### GetViaIdentity
28+
```
29+
Get-AzStorageNetworkSecurityPerimeterConfiguration -InputObject <IStorageIdentity>
30+
[-DefaultProfile <PSObject>] [<CommonParameters>]
31+
```
32+
33+
### GetViaIdentityStorageAccount
34+
```
35+
Get-AzStorageNetworkSecurityPerimeterConfiguration -Name <String>
36+
-StorageAccountInputObject <IStorageIdentity> [-DefaultProfile <PSObject>] [<CommonParameters>]
37+
```
38+
39+
## DESCRIPTION
40+
Gets effective NetworkSecurityPerimeterConfiguration for association
41+
42+
## EXAMPLES
43+
44+
### Example 1: Get a NetworkSecurityPerimeterConfiguration associated with a storage account
45+
```powershell
46+
Get-AzStorageNetworkSecurityPerimeterConfiguration -ResourceGroupName "nsprg" -AccountName "nspaccount" -Name "00000000-0000-0000-0000-000000000000.associationame"
47+
```
48+
49+
```output
50+
Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nsprg/providers/Microsoft.Storage/storageAccounts/nspaccount/networkSecurityPerimeterConfigurations/00000000-0000-0000-0000-000000000000.associationame
51+
Name : 00000000-0000-0000-0000-000000000000.associationame
52+
NetworkSecurityPerimeterGuid : 00000000-0000-0000-0000-000000000000
53+
NetworkSecurityPerimeterId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nsprg/providers/Microsoft.Network/networkSecurityPerimeters/nspname
54+
NetworkSecurityPerimeterLocation : eastus
55+
ProfileAccessRule : {}
56+
ProfileAccessRulesVersion : 0
57+
ProfileDiagnosticSettingsVersion : 0
58+
ProfileEnabledLogCategory : {}
59+
ProfileName : nsptest
60+
ProvisioningIssue :
61+
ProvisioningState : Succeeded
62+
ResourceAssociationAccessMode : Learning
63+
ResourceAssociationName : associationame
64+
ResourceGroupName : nsprg
65+
SystemDataCreatedAt :
66+
SystemDataCreatedBy :
67+
SystemDataCreatedByType :
68+
SystemDataLastModifiedAt :
69+
SystemDataLastModifiedBy :
70+
SystemDataLastModifiedByType :
71+
Type : Microsoft.Storage/storageAccounts/networkSecurityPerimeterConfigurations
72+
```
73+
74+
This command gets a NetworkSecurityPerimeterConfiguration associated with a storage account "nspaccount" with the nspConfig Name.
75+
76+
### Example 2: List NetworkSecurityPerimeterConfiguration associated with a storage account
77+
```powershell
78+
Get-AzStorageNetworkSecurityPerimeterConfiguration -ResourceGroupName "nsprg" -AccountName "nspaccount"
79+
```
80+
81+
```output
82+
Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nsprg/providers/Microsoft.Storage/storageAccounts/nspaccount/networkSecurityPerimeterConfigurations/00000000-0000-0000-0000-000000000000.associationame
83+
Name : 00000000-0000-0000-0000-000000000000.associationame
84+
NetworkSecurityPerimeterGuid : 00000000-0000-0000-0000-000000000000
85+
NetworkSecurityPerimeterId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nsprg/providers/Microsoft.Network/networkSecurityPerimeters/nspname
86+
NetworkSecurityPerimeterLocation : eastus
87+
ProfileAccessRule : {}
88+
ProfileAccessRulesVersion : 0
89+
ProfileDiagnosticSettingsVersion : 0
90+
ProfileEnabledLogCategory : {}
91+
ProfileName : nsptest
92+
ProvisioningIssue :
93+
ProvisioningState : Succeeded
94+
ResourceAssociationAccessMode : Learning
95+
ResourceAssociationName : associationame
96+
ResourceGroupName : nsprg
97+
SystemDataCreatedAt :
98+
SystemDataCreatedBy :
99+
SystemDataCreatedByType :
100+
SystemDataLastModifiedAt :
101+
SystemDataLastModifiedBy :
102+
SystemDataLastModifiedByType :
103+
Type : Microsoft.Storage/storageAccounts/networkSecurityPerimeterConfigurations
104+
```
105+
106+
This command lists all NetworkSecurityPerimeterConfiguration associated with a storage account "nspaccount".
107+
108+
## PARAMETERS
109+
110+
### -AccountName
111+
The name of the storage account within the specified resource group.
112+
Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
113+
114+
```yaml
115+
Type: System.String
116+
Parameter Sets: Get, List
117+
Aliases:
118+
119+
Required: True
120+
Position: Named
121+
Default value: None
122+
Accept pipeline input: False
123+
Accept wildcard characters: False
124+
```
125+
126+
### -DefaultProfile
127+
The DefaultProfile parameter is not functional.
128+
Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
129+
130+
```yaml
131+
Type: System.Management.Automation.PSObject
132+
Parameter Sets: (All)
133+
Aliases: AzureRMContext, AzureCredential
134+
135+
Required: False
136+
Position: Named
137+
Default value: None
138+
Accept pipeline input: False
139+
Accept wildcard characters: False
140+
```
141+
142+
### -InputObject
143+
Identity Parameter
144+
145+
```yaml
146+
Type: Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.IStorageIdentity
147+
Parameter Sets: GetViaIdentity
148+
Aliases:
149+
150+
Required: True
151+
Position: Named
152+
Default value: None
153+
Accept pipeline input: True (ByValue)
154+
Accept wildcard characters: False
155+
```
156+
157+
### -Name
158+
The name for Network Security Perimeter configuration
159+
160+
```yaml
161+
Type: System.String
162+
Parameter Sets: Get, GetViaIdentityStorageAccount
163+
Aliases: NetworkSecurityPerimeterConfigurationName
164+
165+
Required: True
166+
Position: Named
167+
Default value: None
168+
Accept pipeline input: False
169+
Accept wildcard characters: False
170+
```
171+
172+
### -ResourceGroupName
173+
The name of the resource group within the user's subscription.
174+
The name is case insensitive.
175+
176+
```yaml
177+
Type: System.String
178+
Parameter Sets: Get, List
179+
Aliases:
180+
181+
Required: True
182+
Position: Named
183+
Default value: None
184+
Accept pipeline input: False
185+
Accept wildcard characters: False
186+
```
187+
188+
### -StorageAccountInputObject
189+
Identity Parameter
190+
191+
```yaml
192+
Type: Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.IStorageIdentity
193+
Parameter Sets: GetViaIdentityStorageAccount
194+
Aliases:
195+
196+
Required: True
197+
Position: Named
198+
Default value: None
199+
Accept pipeline input: True (ByValue)
200+
Accept wildcard characters: False
201+
```
202+
203+
### -SubscriptionId
204+
The ID of the target subscription.
205+
206+
```yaml
207+
Type: System.String[]
208+
Parameter Sets: Get, List
209+
Aliases:
210+
211+
Required: False
212+
Position: Named
213+
Default value: (Get-AzContext).Subscription.Id
214+
Accept pipeline input: False
215+
Accept wildcard characters: False
216+
```
217+
218+
### CommonParameters
219+
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
220+
221+
## INPUTS
222+
223+
### Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.IStorageIdentity
224+
225+
## OUTPUTS
226+
227+
### Microsoft.Azure.PowerShell.Cmdlets.Storage.Models.INetworkSecurityPerimeterConfiguration
228+
229+
## NOTES
230+
231+
## RELATED LINKS
232+

0 commit comments

Comments
 (0)