From 0055fe0e020c02e6a5ee7be9169d418b4bbdba6f Mon Sep 17 00:00:00 2001 From: "Karthik Gumpu (from Dev Box)" Date: Mon, 25 Aug 2025 17:35:23 +0530 Subject: [PATCH 1/2] Add cmlet for List NSP Service tags --- src/Network/Network.sln | 28 ++--- src/Network/Network/Az.Network.psd1 | 15 +-- src/Network/Network/help/Az.Network.md | 4 + ...et-AzNetworkSecurityPerimeterServiceTag.md | 103 +++++++++++++++++ .../Properties/AssemblyInfo.cs | 1 + .../README.md | 6 +- .../docs/Az.NetworkSecurityPerimeter.md | 4 + ...et-AzNetworkSecurityPerimeterServiceTag.md | 104 ++++++++++++++++++ ...et-AzNetworkSecurityPerimeterServiceTag.md | 16 +++ .../generate-info.json | 2 +- ...tworkSecurityPerimeterServiceTag.Tests.ps1 | 21 ++++ 11 files changed, 281 insertions(+), 23 deletions(-) create mode 100644 src/Network/Network/help/Get-AzNetworkSecurityPerimeterServiceTag.md create mode 100644 src/Network/NetworkSecurityPerimeter.Autorest/docs/Get-AzNetworkSecurityPerimeterServiceTag.md create mode 100644 src/Network/NetworkSecurityPerimeter.Autorest/examples/Get-AzNetworkSecurityPerimeterServiceTag.md create mode 100644 src/Network/NetworkSecurityPerimeter.Autorest/test/Get-AzNetworkSecurityPerimeterServiceTag.Tests.ps1 diff --git a/src/Network/Network.sln b/src/Network/Network.sln index f4c8d231f69a..282bb31f7c33 100644 --- a/src/Network/Network.sln +++ b/src/Network/Network.sln @@ -93,7 +93,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Az.Storage", "..\..\generat EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NetworkSecurityPerimeter.Autorest", "NetworkSecurityPerimeter.Autorest", "{3812C005-6816-54B0-F21E-A6FE92A91FD4}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Az.NetworkSecurityPerimeter", "..\..\generated\Network\NetworkSecurityPerimeter.Autorest\Az.NetworkSecurityPerimeter.csproj", "{C1E3DA8B-964A-4192-B522-F6845F36AD64}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Az.NetworkSecurityPerimeter", "..\..\generated\Network\NetworkSecurityPerimeter.Autorest\Az.NetworkSecurityPerimeter.csproj", "{2BF7D2AF-17AB-4C16-8972-A9B297A2A0E3}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -597,18 +597,18 @@ Global {1203D821-7447-4DB5-B256-626ABA776459}.Release|x64.Build.0 = Release|Any CPU {1203D821-7447-4DB5-B256-626ABA776459}.Release|x86.ActiveCfg = Release|Any CPU {1203D821-7447-4DB5-B256-626ABA776459}.Release|x86.Build.0 = Release|Any CPU - {C1E3DA8B-964A-4192-B522-F6845F36AD64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C1E3DA8B-964A-4192-B522-F6845F36AD64}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C1E3DA8B-964A-4192-B522-F6845F36AD64}.Debug|x64.ActiveCfg = Debug|Any CPU - {C1E3DA8B-964A-4192-B522-F6845F36AD64}.Debug|x64.Build.0 = Debug|Any CPU - {C1E3DA8B-964A-4192-B522-F6845F36AD64}.Debug|x86.ActiveCfg = Debug|Any CPU - {C1E3DA8B-964A-4192-B522-F6845F36AD64}.Debug|x86.Build.0 = Debug|Any CPU - {C1E3DA8B-964A-4192-B522-F6845F36AD64}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C1E3DA8B-964A-4192-B522-F6845F36AD64}.Release|Any CPU.Build.0 = Release|Any CPU - {C1E3DA8B-964A-4192-B522-F6845F36AD64}.Release|x64.ActiveCfg = Release|Any CPU - {C1E3DA8B-964A-4192-B522-F6845F36AD64}.Release|x64.Build.0 = Release|Any CPU - {C1E3DA8B-964A-4192-B522-F6845F36AD64}.Release|x86.ActiveCfg = Release|Any CPU - {C1E3DA8B-964A-4192-B522-F6845F36AD64}.Release|x86.Build.0 = Release|Any CPU + {2BF7D2AF-17AB-4C16-8972-A9B297A2A0E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2BF7D2AF-17AB-4C16-8972-A9B297A2A0E3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2BF7D2AF-17AB-4C16-8972-A9B297A2A0E3}.Debug|x64.ActiveCfg = Debug|Any CPU + {2BF7D2AF-17AB-4C16-8972-A9B297A2A0E3}.Debug|x64.Build.0 = Debug|Any CPU + {2BF7D2AF-17AB-4C16-8972-A9B297A2A0E3}.Debug|x86.ActiveCfg = Debug|Any CPU + {2BF7D2AF-17AB-4C16-8972-A9B297A2A0E3}.Debug|x86.Build.0 = Debug|Any CPU + {2BF7D2AF-17AB-4C16-8972-A9B297A2A0E3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2BF7D2AF-17AB-4C16-8972-A9B297A2A0E3}.Release|Any CPU.Build.0 = Release|Any CPU + {2BF7D2AF-17AB-4C16-8972-A9B297A2A0E3}.Release|x64.ActiveCfg = Release|Any CPU + {2BF7D2AF-17AB-4C16-8972-A9B297A2A0E3}.Release|x64.Build.0 = Release|Any CPU + {2BF7D2AF-17AB-4C16-8972-A9B297A2A0E3}.Release|x86.ActiveCfg = Release|Any CPU + {2BF7D2AF-17AB-4C16-8972-A9B297A2A0E3}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -641,6 +641,6 @@ Global {66BD1E20-2B2A-415C-80E0-8DAEFF9A4E36} = {64E7C944-C1C6-401E-AF80-F7B1C94C45D2} {2CFDC89F-326F-4E90-BB35-97763282B447} = {64E7C944-C1C6-401E-AF80-F7B1C94C45D2} {794AED8B-5574-477B-B332-0730A0DF4DA8} = {64E7C944-C1C6-401E-AF80-F7B1C94C45D2} - {C1E3DA8B-964A-4192-B522-F6845F36AD64} = {3812C005-6816-54B0-F21E-A6FE92A91FD4} + {2BF7D2AF-17AB-4C16-8972-A9B297A2A0E3} = {3812C005-6816-54B0-F21E-A6FE92A91FD4} EndGlobalSection EndGlobal diff --git a/src/Network/Network/Az.Network.psd1 b/src/Network/Network/Az.Network.psd1 index 356367b8f6fb..0915fc1a8eb4 100644 --- a/src/Network/Network/Az.Network.psd1 +++ b/src/Network/Network/Az.Network.psd1 @@ -3,7 +3,7 @@ # # Generated by: Microsoft Corporation # -# Generated on: 5/21/2025 +# Generated on: 8/25/2025 # @{ @@ -53,7 +53,7 @@ DotNetFrameworkVersion = '4.7.2' # ProcessorArchitecture = '' # Modules that must be imported into the global environment prior to importing this module -RequiredModules = @(@{ModuleName = 'Az.Accounts'; ModuleVersion = '5.0.0'; }) +RequiredModules = @(@{ModuleName = 'Az.Accounts'; ModuleVersion = '5.1.0'; }) # Assemblies that must be loaded prior to importing this module RequiredAssemblies = 'Microsoft.Azure.PowerShell.AutoMapper.dll', @@ -61,10 +61,10 @@ RequiredAssemblies = 'Microsoft.Azure.PowerShell.AutoMapper.dll', 'NetworkSecurityPerimeter.Autorest/bin/Az.NetworkSecurityPerimeter.private.dll' # Script files (.ps1) that are run in the caller's environment prior to importing this module. -# ScriptsToProcess = @() +ScriptsToProcess = @() # Type files (.ps1xml) to be loaded when importing this module -# TypesToProcess = @() +TypesToProcess = @() # Format files (.ps1xml) to be loaded when importing this module FormatsToProcess = 'Network.generated.format.ps1xml', @@ -83,6 +83,7 @@ FunctionsToExport = 'Get-AzNetworkSecurityPerimeter', 'Get-AzNetworkSecurityPerimeterLinkReference', 'Get-AzNetworkSecurityPerimeterLoggingConfiguration', 'Get-AzNetworkSecurityPerimeterProfile', + 'Get-AzNetworkSecurityPerimeterServiceTag', 'New-AzNetworkSecurityPerimeter', 'New-AzNetworkSecurityPerimeterAccessRule', 'New-AzNetworkSecurityPerimeterAssociation', @@ -341,8 +342,8 @@ CmdletsToExport = 'Add-AzApplicationGatewayAuthenticationCertificate', 'New-AzApplicationGatewayFirewallDisabledRuleGroupConfig', 'New-AzApplicationGatewayFirewallExclusionConfig', 'New-AzApplicationGatewayFirewallMatchVariable', - 'New-AzApplicationGatewayFirewallPolicyException', 'New-AzApplicationGatewayFirewallPolicy', + 'New-AzApplicationGatewayFirewallPolicyException', 'New-AzApplicationGatewayFirewallPolicyExclusion', 'New-AzApplicationGatewayFirewallPolicyExclusionManagedRule', 'New-AzApplicationGatewayFirewallPolicyExclusionManagedRuleGroup', @@ -785,7 +786,7 @@ PrivateData = @{ PSData = @{ # Tags applied to this module. These help with module discovery in online galleries. - Tags = 'Azure','ResourceManager','ARM','Network','VirtualNetwork' + Tags = 'Azure', 'ResourceManager', 'ARM', 'Network', 'VirtualNetwork' # A URL to the license for this module. LicenseUri = 'https://aka.ms/azps-license' @@ -881,7 +882,7 @@ PrivateData = @{ } # End of PSData hashtable - } # End of PrivateData hashtable +} # End of PrivateData hashtable # HelpInfo URI of this module # HelpInfoURI = '' diff --git a/src/Network/Network/help/Az.Network.md b/src/Network/Network/help/Az.Network.md index 83e1a6411285..7714a18608b6 100644 --- a/src/Network/Network/help/Az.Network.md +++ b/src/Network/Network/help/Az.Network.md @@ -597,6 +597,10 @@ Gets the NSP logging configuration. ### [Get-AzNetworkSecurityPerimeterProfile](Get-AzNetworkSecurityPerimeterProfile.md) Gets the specified NSP profile. +### [Get-AzNetworkSecurityPerimeterServiceTag](Get-AzNetworkSecurityPerimeterServiceTag.md) +Gets the list of service tags supported by NSP. +These service tags can be used to list access rules in NSP. + ### [Get-AzNetworkSecurityRuleConfig](Get-AzNetworkSecurityRuleConfig.md) Get a network security rule configuration for a network security group. diff --git a/src/Network/Network/help/Get-AzNetworkSecurityPerimeterServiceTag.md b/src/Network/Network/help/Get-AzNetworkSecurityPerimeterServiceTag.md new file mode 100644 index 000000000000..912063e9ba36 --- /dev/null +++ b/src/Network/Network/help/Get-AzNetworkSecurityPerimeterServiceTag.md @@ -0,0 +1,103 @@ +--- +external help file: Az.NetworkSecurityPerimeter.psm1-help.xml +Module Name: Az.Network +online version: https://learn.microsoft.com/powershell/module/az.network/get-aznetworksecurityperimeterservicetag +schema: 2.0.0 +--- + +# Get-AzNetworkSecurityPerimeterServiceTag + +## SYNOPSIS +Gets the list of service tags supported by NSP. +These service tags can be used to list access rules in NSP. + +## SYNTAX + +``` +Get-AzNetworkSecurityPerimeterServiceTag -Location [-SubscriptionId ] + [-DefaultProfile ] [] +``` + +## DESCRIPTION +Gets the list of service tags supported by NSP. +These service tags can be used to list access rules in NSP. + +## EXAMPLES + +### Example 1: List NetworkSecurityPerimeter ServiceTags +```powershell +Get-AzNetworkSecurityPerimeterServiceTag -Location eastus2euap +``` + +```output +ServiceTags +---- +ActionGroup +ApiManagement +ApiManagement.AustraliaCentral +ApiManagement.AustraliaCentral2 +``` + +List NetworkSecurityPerimeter ServiceTags + +## PARAMETERS + +### -DefaultProfile +The DefaultProfile parameter is not functional. +Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Location +The location of network security perimeter. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +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). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.NetworkSecurityPerimeter.Models.INspServiceTagsResource + +## NOTES + +## RELATED LINKS diff --git a/src/Network/NetworkSecurityPerimeter.Autorest/Properties/AssemblyInfo.cs b/src/Network/NetworkSecurityPerimeter.Autorest/Properties/AssemblyInfo.cs index 8d89c487a36c..45b82b5dad0a 100644 --- a/src/Network/NetworkSecurityPerimeter.Autorest/Properties/AssemblyInfo.cs +++ b/src/Network/NetworkSecurityPerimeter.Autorest/Properties/AssemblyInfo.cs @@ -27,3 +27,4 @@ + diff --git a/src/Network/NetworkSecurityPerimeter.Autorest/README.md b/src/Network/NetworkSecurityPerimeter.Autorest/README.md index 175c65fc1a36..dac76a7971e7 100644 --- a/src/Network/NetworkSecurityPerimeter.Autorest/README.md +++ b/src/Network/NetworkSecurityPerimeter.Autorest/README.md @@ -34,7 +34,7 @@ require: commit: main input-file: # You need to specify your swagger files here. - - https://github.com/Azure/azure-rest-api-specs/blob/c9c3e8b9ec547d82c487f36f1126228f9eef0e79/specification/network/resource-manager/Microsoft.Network/stable/2024-07-01/networkSecurityPerimeter.json + - https://github.com/Azure/azure-rest-api-specs/blob/bf0ac74db224f60dca9a598ec8d7b762e80d2b8c/specification/network/resource-manager/Microsoft.Network/stable/2024-07-01/networkSecurityPerimeter.json # If the swagger has not been put in the repo, you may uncomment the following line and refer to it locally # - (this-folder)/relative-path-to-your-swagger @@ -108,6 +108,10 @@ directive: subject: NetworkSecurityPerimeterAssociableResourceType set: subject-prefix: '' + - where: + subject: NetworkSecurityPerimeterServiceTag + set: + subject-prefix: '' - where: subject: NetworkSecurityPerimeter set: diff --git a/src/Network/NetworkSecurityPerimeter.Autorest/docs/Az.NetworkSecurityPerimeter.md b/src/Network/NetworkSecurityPerimeter.Autorest/docs/Az.NetworkSecurityPerimeter.md index 8261bed671a9..4e9f75f4f79f 100644 --- a/src/Network/NetworkSecurityPerimeter.Autorest/docs/Az.NetworkSecurityPerimeter.md +++ b/src/Network/NetworkSecurityPerimeter.Autorest/docs/Az.NetworkSecurityPerimeter.md @@ -36,6 +36,10 @@ Gets the NSP logging configuration. ### [Get-AzNetworkSecurityPerimeterProfile](Get-AzNetworkSecurityPerimeterProfile.md) Gets the specified NSP profile. +### [Get-AzNetworkSecurityPerimeterServiceTag](Get-AzNetworkSecurityPerimeterServiceTag.md) +Gets the list of service tags supported by NSP. +These service tags can be used to list access rules in NSP. + ### [New-AzNetworkSecurityPerimeter](New-AzNetworkSecurityPerimeter.md) create a Network Security Perimeter. diff --git a/src/Network/NetworkSecurityPerimeter.Autorest/docs/Get-AzNetworkSecurityPerimeterServiceTag.md b/src/Network/NetworkSecurityPerimeter.Autorest/docs/Get-AzNetworkSecurityPerimeterServiceTag.md new file mode 100644 index 000000000000..96cf7576c322 --- /dev/null +++ b/src/Network/NetworkSecurityPerimeter.Autorest/docs/Get-AzNetworkSecurityPerimeterServiceTag.md @@ -0,0 +1,104 @@ +--- +external help file: +Module Name: Az.Network +online version: https://learn.microsoft.com/powershell/module/az.network/get-aznetworksecurityperimeterservicetag +schema: 2.0.0 +--- + +# Get-AzNetworkSecurityPerimeterServiceTag + +## SYNOPSIS +Gets the list of service tags supported by NSP. +These service tags can be used to list access rules in NSP. + +## SYNTAX + +``` +Get-AzNetworkSecurityPerimeterServiceTag -Location [-SubscriptionId ] + [-DefaultProfile ] [] +``` + +## DESCRIPTION +Gets the list of service tags supported by NSP. +These service tags can be used to list access rules in NSP. + +## EXAMPLES + +### Example 1: List NetworkSecurityPerimeter ServiceTags +```powershell +Get-AzNetworkSecurityPerimeterServiceTag -Location eastus2euap +``` + +```output +ServiceTags +---- +ActionGroup +ApiManagement +ApiManagement.AustraliaCentral +ApiManagement.AustraliaCentral2 +``` + +List NetworkSecurityPerimeter ServiceTags + +## PARAMETERS + +### -DefaultProfile +The DefaultProfile parameter is not functional. +Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription. + +```yaml +Type: System.Management.Automation.PSObject +Parameter Sets: (All) +Aliases: AzureRMContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Location +The location of network security perimeter. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SubscriptionId +The subscription credentials which uniquely identify the Microsoft Azure subscription. +The subscription ID forms part of the URI for every service call. + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: (Get-AzContext).Subscription.Id +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +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). + +## INPUTS + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.NetworkSecurityPerimeter.Models.INspServiceTagsResource + +## NOTES + +## RELATED LINKS + diff --git a/src/Network/NetworkSecurityPerimeter.Autorest/examples/Get-AzNetworkSecurityPerimeterServiceTag.md b/src/Network/NetworkSecurityPerimeter.Autorest/examples/Get-AzNetworkSecurityPerimeterServiceTag.md new file mode 100644 index 000000000000..7223ad9b216a --- /dev/null +++ b/src/Network/NetworkSecurityPerimeter.Autorest/examples/Get-AzNetworkSecurityPerimeterServiceTag.md @@ -0,0 +1,16 @@ +### Example 1: List NetworkSecurityPerimeter ServiceTags +```powershell +Get-AzNetworkSecurityPerimeterServiceTag -Location eastus2euap +``` + +```output +ServiceTags +---- +ActionGroup +ApiManagement +ApiManagement.AustraliaCentral +ApiManagement.AustraliaCentral2 +``` + +List NetworkSecurityPerimeter ServiceTags + diff --git a/src/Network/NetworkSecurityPerimeter.Autorest/generate-info.json b/src/Network/NetworkSecurityPerimeter.Autorest/generate-info.json index f2bb4c3dccf1..8a1055102a21 100644 --- a/src/Network/NetworkSecurityPerimeter.Autorest/generate-info.json +++ b/src/Network/NetworkSecurityPerimeter.Autorest/generate-info.json @@ -1,3 +1,3 @@ { - "generate_Id": "6ade6c1f-78b8-4789-923b-fea52a1e58e6" + "generate_Id": "975c2aec-7bd7-493b-baa3-f3279b25eadd" } diff --git a/src/Network/NetworkSecurityPerimeter.Autorest/test/Get-AzNetworkSecurityPerimeterServiceTag.Tests.ps1 b/src/Network/NetworkSecurityPerimeter.Autorest/test/Get-AzNetworkSecurityPerimeterServiceTag.Tests.ps1 new file mode 100644 index 000000000000..a7b5c3566a3d --- /dev/null +++ b/src/Network/NetworkSecurityPerimeter.Autorest/test/Get-AzNetworkSecurityPerimeterServiceTag.Tests.ps1 @@ -0,0 +1,21 @@ +if(($null -eq $TestName) -or ($TestName -contains 'Get-AzNetworkSecurityPerimeterServiceTag')) +{ + $loadEnvPath = Join-Path $PSScriptRoot 'loadEnv.ps1' + if (-Not (Test-Path -Path $loadEnvPath)) { + $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' + } + . ($loadEnvPath) + $TestRecordingFile = Join-Path $PSScriptRoot 'Get-AzNetworkSecurityPerimeterServiceTag.Recording.json' + $currentPath = $PSScriptRoot + while(-not $mockingPath) { + $mockingPath = Get-ChildItem -Path $currentPath -Recurse -Include 'HttpPipelineMocking.ps1' -File + $currentPath = Split-Path -Path $currentPath -Parent + } + . ($mockingPath | Select-Object -First 1).FullName +} + +Describe 'Get-AzNetworkSecurityPerimeterServiceTag' { + It 'List' -skip { + { throw [System.NotImplementedException] } | Should -Not -Throw + } +} From 5421c1936294ab0ac83989666787066d6443e40f Mon Sep 17 00:00:00 2001 From: "Karthik Gumpu (from Dev Box)" Date: Mon, 25 Aug 2025 17:41:50 +0530 Subject: [PATCH 2/2] Update change log --- src/Network/Network/ChangeLog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Network/Network/ChangeLog.md b/src/Network/Network/ChangeLog.md index a5cd76da3b91..3129cc2b0b78 100644 --- a/src/Network/Network/ChangeLog.md +++ b/src/Network/Network/ChangeLog.md @@ -33,6 +33,8 @@ - `Get-AzApplicationGatewayFirewallPolicy` - `Set-AzApplicationGatewayFirewallPolicy` - `New-AzApplicationGatewayFirewallPolicy` +* Added new cmdlet for List NetworkSecurityPerimeter ServiceTags + - `Get-AzNetworkSecurityPerimeterServiceTag` ## Version 7.17.0