Add FirstPartyServiceTag cmdlets - #29970
Conversation
Add CRUD cmdlets, help, scenario coverage, and optional public IP tag association support for Microsoft.Network/firstPartyServiceTags. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 62776278-8af6-44c1-8b89-928aa652a67c
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
Thank you for your contribution karthikka4820! We will review the pull request and get back to you soon. |
There was a problem hiding this comment.
Pull request overview
Adds First Party Service Tag management to Az.Network and enables Public IP tag associations.
Changes:
- Adds CRUD cmdlets, models, help, and tests.
- Updates the Network SDK to API version 2025-09-01.
- Adds
FirstPartyServiceTagIdsupport to Public IP tags.
Reviewed changes
Copilot reviewed 17 out of 28 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
src/Network/Network/PublicIpAddress/NewAzurePublicIpTagCommand.cs |
Adds service-tag association input. |
src/Network/Network/Models/PSFirstPartyServiceTag.cs |
Adds the PowerShell resource model. |
src/Network/Network/help/Set-AzFirstPartyServiceTag.md |
Documents update usage. |
src/Network/Network/help/Remove-AzFirstPartyServiceTag.md |
Documents removal usage. |
src/Network/Network/help/New-AzFirstPartyServiceTag.md |
Documents creation usage. |
src/Network/Network/help/Get-AzFirstPartyServiceTag.md |
Documents retrieval and listing. |
src/Network/Network/Generated/Models/PSPublicIpTag.cs |
Exposes the associated resource ID. |
src/Network/Network/FirstPartyServiceTag/SetFirstPartyServiceTagCommand.cs |
Implements update behavior. |
src/Network/Network/FirstPartyServiceTag/RemoveFirstPartyServiceTagCommand.cs |
Implements deletion behavior. |
src/Network/Network/FirstPartyServiceTag/NewFirstPartyServiceTagCommand.cs |
Implements creation behavior. |
src/Network/Network/FirstPartyServiceTag/GetFirstPartyServiceTagCommand.cs |
Implements retrieval, filtering, and paging. |
src/Network/Network/FirstPartyServiceTag/FirstPartyServiceTagParameterSetNames.cs |
Defines parameter-set names. |
src/Network/Network/FirstPartyServiceTag/FirstPartyServiceTagBaseCmdlet.cs |
Provides shared client and model conversion logic. |
src/Network/Network/ChangeLog.md |
Records the user-facing additions. |
src/Network/Network/Az.Network.psd1 |
Exports the four cmdlets. |
src/Network/Network.Test/ScenarioTests/FirstPartyServiceTagTests.ps1 |
Adds the CRUD scenario. |
src/Network/Network.Test/ScenarioTests/FirstPartyServiceTagTests.cs |
Registers the scenario test. |
src/Network/Network.Management.Sdk/README.md |
Updates SDK generation inputs. |
src/Network/Network.Management.Sdk/Generated/PublicIPPrefixesOperations.cs |
Updates the API version. |
src/Network/Network.Management.Sdk/Generated/PublicIPAddressesOperations.cs |
Updates the API version. |
src/Network/Network.Management.Sdk/Generated/NetworkManagementClient.cs |
Registers the new SDK operations. |
src/Network/Network.Management.Sdk/Generated/Models/IpTag.cs |
Adds the association property. |
src/Network/Network.Management.Sdk/Generated/Models/FirstPartyServiceTagPropertiesFormat.cs |
Defines service-tag properties. |
src/Network/Network.Management.Sdk/Generated/Models/FirstPartyServiceTag.cs |
Defines the SDK resource model. |
src/Network/Network.Management.Sdk/Generated/INetworkManagementClient.cs |
Exposes the operations interface. |
src/Network/Network.Management.Sdk/Generated/IFirstPartyServiceTagsOperations.cs |
Defines the SDK operation contract. |
src/Network/Network.Management.Sdk/Generated/FirstPartyServiceTagsOperationsExtensions.cs |
Adds synchronous and asynchronous helpers. |
src/Network/Network.Management.Sdk/Generated/FirstPartyServiceTagsOperations.cs |
Implements REST operations and paging. |
| { | ||
| } | ||
|
|
||
| [Fact(Skip = "Resource requires first party service tag access")] |
There was a problem hiding this comment.
Added runnable mocked tests covering create, get, update, delete, wildcard filtering, paging, pipeline input, and PassThru . The live canary scenario was also expanded for resource-ID and wildcard coverage; recording is pending subscription feature registration.
|
Automated sensitive-information remediation ran on this pull request.
If a credential was exposed, rotate or revoke it immediately. Detected values are never copied into this comment. ✅ Keep the redaction · ❌ Dispute the redaction GitHub only supports a fixed reaction set, so 👍 represents ✅ and 👎 represents ❌. The bot-created reactions are only poll choices. Posted by agent-assist (autonomous bug-fix pipeline). |
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
Add runnable mocked coverage for cmdlet behavior and public IP tag mapping, expand the canary scenario for future recording, and document FirstPartyServiceTagId in New-AzPublicIpTag help. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 62776278-8af6-44c1-8b89-928aa652a67c
Add the canonical Learn online-version URLs to all FirstPartyServiceTag reference help files. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 62776278-8af6-44c1-8b89-928aa652a67c
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 21 out of 32 changed files in this pull request and generated no new comments.
Suppressed comments (1)
src/Network/Network.Management.Sdk/README.md:38
- This generation recipe now points every Network input at 2025-09-01 and uses
clear-output-folder: true, but the checked-in output was only advanced for the public-IP and new service-tag operation groups; for example,Generated/ApplicationGatewaysOperations.csstill hard-codes 2025-07-01. Running the documented AutoRest command therefore no longer reproduces the committed SDK and will rewrite many unrelated operation groups. Commit the complete regeneration, or configure the actual mixed input versions used to produce these files.
- https://github.com/Azure/azure-rest-api-specs/blob/$(commit)/specification/network/resource-manager/Microsoft.Network/Network/stable/2025-09-01/applicationGateway.json
- https://github.com/Azure/azure-rest-api-specs/blob/$(commit)/specification/network/resource-manager/Microsoft.Network/Network/stable/2025-09-01/azureWebCategory.json
- https://github.com/Azure/azure-rest-api-specs/blob/$(commit)/specification/network/resource-manager/Microsoft.Network/Network/stable/2025-09-01/common.json
- https://github.com/Azure/azure-rest-api-specs/blob/$(commit)/specification/network/resource-manager/Microsoft.Network/Network/stable/2025-09-01/expressRoute.json
- https://github.com/Azure/azure-rest-api-specs/blob/$(commit)/specification/network/resource-manager/Microsoft.Network/Network/stable/2025-09-01/firewall.json
- https://github.com/Azure/azure-rest-api-specs/blob/$(commit)/specification/network/resource-manager/Microsoft.Network/Network/stable/2025-09-01/firewallPolicy.json
- https://github.com/Azure/azure-rest-api-specs/blob/$(commit)/specification/network/resource-manager/Microsoft.Network/Network/stable/2025-09-01/firstPartyServiceTag.json
Co-authored-by: Copilot <[REDACTED:email_address]>
Description
Adds PS support for Microsoft.Network/FirstPartyServiceTag
Corresponding work item - https://msazure.visualstudio.com/One/_workitems/edit/39167658
Corresponding swagger PR - Azure/azure-rest-api-specs#44870
Design doc for the feature - https://microsoft.sharepoint.com/:w:/r/teams/RnmInfraDevs/_layouts/15/Doc.aspx?sourcedoc=%7B0CAC56B2-C2AB-4E9A-88B8-891EB8A1C799%7D&file=RBAC%20for%20FPU%20Tagged%20VIPs.docx&action=default&mobileredirect=true&share=cQqyVqwMq8KaToi4iR64oceZEgUCbTPM_9leNnR_uFrTKKKVCw
Mandatory Checklist
Please choose the target release of Azure PowerShell. (⚠️ Target release is a different concept from API readiness. Please click below links for details.)
Check this box to confirm: I have read the Submitting Changes section of
CONTRIBUTING.mdand reviewed the following information:ChangeLog.mdfile(s) appropriatelysrc/{{SERVICE}}/{{SERVICE}}/ChangeLog.md.## Upcoming Releaseheader in the past tense.ChangeLog.mdif no new release is required, such as fixing test case only.