Onboard Az.AppNetwork PowerShell module for Microsoft.AppLink - #29975
Onboard Az.AppNetwork PowerShell module for Microsoft.AppLink#29975German Robayo (german1608) wants to merge 6 commits into
Conversation
Generate the Az.AppNetwork module from the AppLink TypeSpec source (specification/applink/AppLink.Management, API 2025-08-01-preview) using the @azure-tools/typespec-powershell emitter via AzDev New-DevTSPModule. - Add AppLink and AppLinkMember CRUD cmdlets, plus AvailableVersion and UpgradeHistory list cmdlets. - Add AzPSConfig (tspconfig.yaml) with SubscriptionId default and variant pruning; hide the raw Operation cmdlet. - Add AppLink lifecycle e2e Pester tests (create/get/list/update/delete) with resource-group provisioning in test/utils.ps1. - Register the module in tools/CreateMappings_rules.json. Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
Thank you for your contribution German Robayo (@german1608)! We will review the pull request and get back to you soon. |
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
This PR onboards a new Az.AppNetwork PowerShell module for the Microsoft.AppLink resource provider (API 2025-08-01-preview), including the module packaging scaffolding, generated AutoRest/TypeSpec artifacts, initial help content, and initial Pester tests.
Changes:
- Added the AppNetwork module project/manifest/changelog and wired it into tooling mappings.
- Added generated AppNetwork.Autorest configuration + UX metadata + docs/help stubs.
- Added initial Pester test scaffolding and partial AppLink lifecycle coverage.
Reviewed changes
Copilot reviewed 73 out of 73 changed files in this pull request and generated 19 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/CreateMappings_rules.json | Adds AppNetwork module mapping for tooling. |
| src/AppNetwork/AppNetwork/Properties/AssemblyInfo.cs | New module assembly metadata/versioning. |
| src/AppNetwork/AppNetwork/help/Update-AzAppNetworkAppLinkMember.md | Adds cmdlet reference help (needs example cleanup). |
| src/AppNetwork/AppNetwork/help/Update-AzAppNetworkAppLink.md | Adds cmdlet reference help (needs example cleanup). |
| src/AppNetwork/AppNetwork/help/Set-AzAppNetworkAppLinkMember.md | Adds cmdlet reference help (needs example cleanup). |
| src/AppNetwork/AppNetwork/help/Set-AzAppNetworkAppLink.md | Adds cmdlet reference help (needs example cleanup). |
| src/AppNetwork/AppNetwork/help/Remove-AzAppNetworkAppLinkMember.md | Adds cmdlet reference help (needs example cleanup). |
| src/AppNetwork/AppNetwork/help/Remove-AzAppNetworkAppLink.md | Adds cmdlet reference help (needs example cleanup). |
| src/AppNetwork/AppNetwork/help/New-AzAppNetworkAppLinkMember.md | Adds cmdlet reference help (examples currently placeholder). |
| src/AppNetwork/AppNetwork/help/New-AzAppNetworkAppLink.md | Adds cmdlet reference help (needs example cleanup). |
| src/AppNetwork/AppNetwork/help/Get-AzAppNetworkUpgradeHistory.md | Adds cmdlet reference help (examples currently placeholder). |
| src/AppNetwork/AppNetwork/help/Get-AzAppNetworkAvailableVersion.md | Adds cmdlet reference help (needs example cleanup). |
| src/AppNetwork/AppNetwork/help/Get-AzAppNetworkAppLinkMember.md | Adds cmdlet reference help (examples currently placeholder). |
| src/AppNetwork/AppNetwork/help/Get-AzAppNetworkAppLink.md | Adds cmdlet reference help (needs example cleanup). |
| src/AppNetwork/AppNetwork/ChangeLog.md | Adds initial changelog entry for module onboarding. |
| src/AppNetwork/AppNetwork/Az.AppNetwork.psd1 | Adds module manifest (exports + required dependencies). |
| src/AppNetwork/AppNetwork/AppNetwork.csproj | Adds build output + packaging assets for the module. |
| src/AppNetwork/AppNetwork.sln | Adds solution entries for AppNetwork + Autorest projects. |
| src/AppNetwork/AppNetwork.Autorest/UX/Microsoft.AppLink/appLinks.json | Adds UX metadata for AppLink cmdlets. |
| src/AppNetwork/AppNetwork.Autorest/UX/Microsoft.AppLink/appLinks-appLinkMembers.json | Adds UX metadata for AppLinkMember cmdlets. |
| src/AppNetwork/AppNetwork.Autorest/utils/Unprotect-SecureString.ps1 | Adds standard utility script. |
| src/AppNetwork/AppNetwork.Autorest/utils/Get-SubscriptionIdTestSafe.ps1 | Adds standard test-safe subscription ID helper. |
| src/AppNetwork/AppNetwork.Autorest/tspconfig.yaml | Adds TypeSpec emitter configuration and directives. |
| src/AppNetwork/AppNetwork.Autorest/tsp-location.yaml | Pins TypeSpec input repo and commit for reproducibility. |
| src/AppNetwork/AppNetwork.Autorest/test/utils.ps1 | Adds test env setup/cleanup utilities (needs AppLink provisioning fix). |
| src/AppNetwork/AppNetwork.Autorest/test/Update-AzAppNetworkAppLinkMember.Tests.ps1 | Adds test stub (currently skipped). |
| src/AppNetwork/AppNetwork.Autorest/test/Update-AzAppNetworkAppLink.Tests.ps1 | Adds Update cmdlet test (partial coverage). |
| src/AppNetwork/AppNetwork.Autorest/test/Set-AzAppNetworkAppLinkMember.Tests.ps1 | Adds test stub (currently skipped). |
| src/AppNetwork/AppNetwork.Autorest/test/Set-AzAppNetworkAppLink.Tests.ps1 | Adds test stub (currently skipped). |
| src/AppNetwork/AppNetwork.Autorest/test/Remove-AzAppNetworkAppLinkMember.Tests.ps1 | Adds test stub (currently skipped). |
| src/AppNetwork/AppNetwork.Autorest/test/Remove-AzAppNetworkAppLink.Tests.ps1 | Adds Remove cmdlet test (partial coverage). |
| src/AppNetwork/AppNetwork.Autorest/test/README.md | Adds test folder documentation. |
| src/AppNetwork/AppNetwork.Autorest/test/New-AzAppNetworkAppLinkMember.Tests.ps1 | Adds test stub (currently skipped). |
| src/AppNetwork/AppNetwork.Autorest/test/New-AzAppNetworkAppLink.Tests.ps1 | Adds New cmdlet test (partial coverage). |
| src/AppNetwork/AppNetwork.Autorest/test/loadEnv.ps1 | Adds env loader (contains a path read bug). |
| src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkUpgradeHistory.Tests.ps1 | Adds test stub (currently skipped). |
| src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkAvailableVersion.Tests.ps1 | Adds test stub (currently skipped). |
| src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkAppLinkMember.Tests.ps1 | Adds test stubs (currently skipped). |
| src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkAppLink.Tests.ps1 | Adds Get cmdlet tests (depends on env provisioning). |
| src/AppNetwork/AppNetwork.Autorest/resources/README.md | Adds non-packaged resource folder documentation. |
| src/AppNetwork/AppNetwork.Autorest/README.md | Adds module README (dependency version needs alignment). |
| src/AppNetwork/AppNetwork.Autorest/Properties/AssemblyInfo.cs | Adds assembly attributes (license header needs cleanup). |
| src/AppNetwork/AppNetwork.Autorest/how-to.md | Adds module dev how-to documentation. |
| src/AppNetwork/AppNetwork.Autorest/examples/Update-AzAppNetworkAppLinkMember.md | Adds example stubs for doc generation. |
| src/AppNetwork/AppNetwork.Autorest/examples/Update-AzAppNetworkAppLink.md | Adds example stubs for doc generation. |
| src/AppNetwork/AppNetwork.Autorest/examples/Set-AzAppNetworkAppLinkMember.md | Adds example stubs for doc generation. |
| src/AppNetwork/AppNetwork.Autorest/examples/Set-AzAppNetworkAppLink.md | Adds example stubs for doc generation. |
| src/AppNetwork/AppNetwork.Autorest/examples/Remove-AzAppNetworkAppLinkMember.md | Adds example stubs for doc generation. |
| src/AppNetwork/AppNetwork.Autorest/examples/Remove-AzAppNetworkAppLink.md | Adds example stubs for doc generation. |
| src/AppNetwork/AppNetwork.Autorest/examples/New-AzAppNetworkAppLinkMember.md | Adds example stubs for doc generation. |
| src/AppNetwork/AppNetwork.Autorest/examples/New-AzAppNetworkAppLink.md | Adds example stubs for doc generation. |
| src/AppNetwork/AppNetwork.Autorest/examples/Get-AzAppNetworkUpgradeHistory.md | Adds example stubs for doc generation. |
| src/AppNetwork/AppNetwork.Autorest/examples/Get-AzAppNetworkAvailableVersion.md | Adds example stubs for doc generation. |
| src/AppNetwork/AppNetwork.Autorest/examples/Get-AzAppNetworkAppLinkMember.md | Adds example stubs for doc generation. |
| src/AppNetwork/AppNetwork.Autorest/examples/Get-AzAppNetworkAppLink.md | Adds example stubs for doc generation. |
| src/AppNetwork/AppNetwork.Autorest/docs/Update-AzAppNetworkAppLinkMember.md | Generated docs output for cmdlet help. |
| src/AppNetwork/AppNetwork.Autorest/docs/Update-AzAppNetworkAppLink.md | Generated docs output for cmdlet help. |
| src/AppNetwork/AppNetwork.Autorest/docs/Set-AzAppNetworkAppLinkMember.md | Generated docs output for cmdlet help. |
| src/AppNetwork/AppNetwork.Autorest/docs/Set-AzAppNetworkAppLink.md | Generated docs output for cmdlet help. |
| src/AppNetwork/AppNetwork.Autorest/docs/Remove-AzAppNetworkAppLinkMember.md | Generated docs output for cmdlet help. |
| src/AppNetwork/AppNetwork.Autorest/docs/Remove-AzAppNetworkAppLink.md | Generated docs output for cmdlet help. |
| src/AppNetwork/AppNetwork.Autorest/docs/README.md | Generated docs folder readme. |
| src/AppNetwork/AppNetwork.Autorest/docs/New-AzAppNetworkAppLinkMember.md | Generated docs output for cmdlet help. |
| src/AppNetwork/AppNetwork.Autorest/docs/New-AzAppNetworkAppLink.md | Generated docs output for cmdlet help. |
| src/AppNetwork/AppNetwork.Autorest/docs/Get-AzAppNetworkUpgradeHistory.md | Generated docs output for cmdlet help. |
| src/AppNetwork/AppNetwork.Autorest/docs/Get-AzAppNetworkAvailableVersion.md | Generated docs output for cmdlet help. |
| src/AppNetwork/AppNetwork.Autorest/docs/Get-AzAppNetworkAppLinkMember.md | Generated docs output for cmdlet help. |
| src/AppNetwork/AppNetwork.Autorest/docs/Get-AzAppNetworkAppLink.md | Generated docs output for cmdlet help. |
| src/AppNetwork/AppNetwork.Autorest/docs/Az.AppNetwork.md | Generated module landing doc listing cmdlets. |
| src/AppNetwork/AppNetwork.Autorest/custom/README.md | Adds custom folder guidance. |
| src/AppNetwork/AppNetwork.Autorest/custom/Az.AppNetwork.custom.psm1 | Adds custom module loader stub. |
| src/AppNetwork/AppNetwork.Autorest/.gitignore | Adds module-local ignore rules. |
| src/AppNetwork/AppNetwork.Autorest/.gitattributes | Adds default text normalization rules. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| } | ||
| $env = @{} | ||
| if (Test-Path -Path $envFilePath) { | ||
| $env = Get-Content (Join-Path $PSScriptRoot $envFile) | ConvertFrom-Json |
| // Copyright (c) Microsoft Corporation. All rights reserved. | ||
| // Licensed under the MIT License. See License.txt in the project root for license information. | ||
| // Changes may cause incorrect behavior and will be lost if the code is regenerated. | ||
| // Copyright (c) Microsoft Corporation. All rights reserved. | ||
| // Licensed under the Apache License, Version 2.0 (the ""License""); | ||
| // you may not use this file except in compliance with the License. | ||
| // You may obtain a copy of the License at | ||
| // http://www.apache.org/licenses/LICENSE-2.0 | ||
| // Unless required by applicable law or agreed to in writing, software | ||
| // distributed under the License is distributed on an ""AS IS"" BASIS, | ||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| // See the License for the specific language governing permissions and | ||
| // limitations under the License. | ||
| // Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code | ||
| // is regenerated. |
| This module was primarily generated via [AutoRest](https://github.com/Azure/autorest) using the [PowerShell](https://github.com/Azure/autorest.powershell) extension. | ||
|
|
||
| ## Module Requirements | ||
| - [Az.Accounts module](https://www.powershellgallery.com/packages/Az.Accounts/), version 2.7.5 or greater |
| - Additional information about change #1 | ||
| --> | ||
| ## Upcoming Release | ||
| * Initial onboarding of the `Az.AppNetwork` module for the `Microsoft.AppLink` resource provider (API version `2025-08-01-preview`), generated from TypeSpec. |
| # ViaIdentity is not required for New-* cmdlets | ||
| - where: | ||
| variant: ^CreateViaIdentity$|^CreateViaIdentityExpanded$ | ||
| remove: true |
| ### Example 1: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here (remove the output block if the example doesn't have an output) }} | ||
| ``` | ||
|
|
||
| {{ Add description here }} | ||
|
|
||
| ### Example 2: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here (remove the output block if the example doesn't have an output) }} | ||
| ``` | ||
|
|
||
| {{ Add description here }} | ||
|
|
| ### Example 1: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here (remove the output block if the example doesn't have an output) }} | ||
| ``` | ||
|
|
||
| {{ Add description here }} | ||
|
|
||
| ### Example 2: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here (remove the output block if the example doesn't have an output) }} | ||
| ``` | ||
|
|
||
| {{ Add description here }} | ||
|
|
| ### Example 1: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here (remove the output block if the example doesn't have an output) }} | ||
| ``` | ||
|
|
||
| {{ Add description here }} | ||
|
|
||
| ### Example 2: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here (remove the output block if the example doesn't have an output) }} | ||
| ``` | ||
|
|
||
| {{ Add description here }} | ||
|
|
| ### Example 1: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here (remove the output block if the example doesn't have an output) }} | ||
| ``` | ||
|
|
||
| {{ Add description here }} | ||
|
|
||
| ### Example 2: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here (remove the output block if the example doesn't have an output) }} | ||
| ``` | ||
|
|
||
| {{ Add description here }} | ||
|
|
| ### Example 1: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here (remove the output block if the example doesn't have an output) }} | ||
| ``` | ||
|
|
||
| {{ Add description here }} | ||
|
|
||
| ### Example 2: {{ Add title here }} | ||
| ```powershell | ||
| {{ Add code here }} | ||
| ``` | ||
|
|
||
| ```output | ||
| {{ Add output here (remove the output block if the example doesn't have an output) }} | ||
| ``` | ||
|
|
||
| {{ Add description here }} | ||
|
|
…tests Fixes discovered via live testing against Azure: - New-AzAppNetworkAppLink requires -EnableSystemAssignedIdentity; the service rejects create without a SystemAssigned identity. Assert IdentityType. - Tag is a TrackedResourceTags object; access via indexer ($t['env']) not dot-notation. Fix the Update tag assertion. - Add AppLinkMember create/get/delete lifecycle tests using -ClusterType AKS, -MetadataResourceId (AKS ARM id), and FullyManaged upgrade profile. - Wire memberName and aksClusterId (AKS_CLUSTER_ID env) into test/utils.ps1; document the required AKS prerequisites (--enable-oidc-issuer --enable-aad --enable-gateway-api) and AppLink subnet delegation. Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 73 out of 73 changed files in this pull request and generated no new comments.
Suppressed comments (6)
src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkAvailableVersion.Tests.ps1:20
- Get-AzAppNetworkAvailableVersion coverage is currently disabled (-skip) with a NotImplementedException stub, so the cmdlet isn't validated in playback/live runs.
src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkUpgradeHistory.Tests.ps1:20 - Get-AzAppNetworkUpgradeHistory coverage is currently disabled (-skip) with a NotImplementedException stub, so the cmdlet isn't validated in playback/live runs.
src/AppNetwork/AppNetwork/help/Get-AzAppNetworkAppLink.md:46 - The EXAMPLES section still contains template placeholders (for example "{{ Add code here }}"). Since these help files are copied into the module output (AppNetwork.csproj copies help*.md), users will see the placeholders in shipped help content.
src/AppNetwork/AppNetwork.Autorest/Properties/AssemblyInfo.cs:15 - The file header contains conflicting license statements (MIT + Apache) and duplicated copyright text. This is inconsistent with other *.Autorest AssemblyInfo.cs headers in the repo (which use Apache-only), and can create licensing ambiguity.
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the Apache License, Version 2.0 (the ""License"");
src/AppNetwork/AppNetwork.Autorest/test/New-AzAppNetworkAppLinkMember.Tests.ps1:18
- This test always attempts to create an AppLinkMember using $env.aksClusterId, but setupEnv only populates that from the AKS_CLUSTER_ID environment variable. When AKS_CLUSTER_ID isn't set (common in local runs / initial recording), this will fail rather than being skipped with a clear reason.
src/AppNetwork/AppNetwork.Autorest/test/Update-AzAppNetworkAppLinkMember.Tests.ps1:20 - All Update-AzAppNetworkAppLinkMember parameter-set tests are currently marked -skip and only assert a NotImplementedException stub. This leaves the Update cmdlet unvalidated in live/record/playback test runs.
…nsion Replace the generated example placeholders for all Az.AppNetwork cmdlets with real examples adapted from the appnet-preview CLI extension (Azure/azure-cli-extensions src/appnet-preview), translating each az appnet / az appnet member command to its PowerShell equivalent: - AppLink: create/show/list/update/delete - AppLinkMember: join (New), show/list, update, remove - AvailableVersion and UpgradeHistory list examples Regenerated docs/*.md so the EXAMPLES sections pick up the new content. Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 73 out of 73 changed files in this pull request and generated 1 comment.
Suppressed comments (3)
src/AppNetwork/AppNetwork/help/Get-AzAppNetworkAppLink.md:45
- The examples section still contains template placeholders ("{{ Add title here }}", "{{ Add code here }}"), which will ship as user-facing help. Regenerate/update these help markdown files so they include real examples (similar to other Az modules’ help files).
src/AppNetwork/AppNetwork.Autorest/utils/Unprotect-SecureString.ps1:14 - This utility converts SecureString to plaintext, which increases the risk of accidental secret exposure (logs, transcripts, crash dumps) if it’s used. If it’s not strictly required, remove it from the module; otherwise, restrict it to test-only tooling and clearly document safe usage.
src/AppNetwork/AppNetwork.Autorest/test/New-AzAppNetworkAppLinkMember.Tests.ps1:22 - This test depends on $env.aksClusterId (from AKS_CLUSTER_ID) but doesn’t guard against it being empty during record/live runs, which will cause a hard failure. Consider skipping the test with a clear reason when the cluster id isn’t provided.
| $loadEnvPath = Join-Path $PSScriptRoot '..\loadEnv.ps1' | ||
| } | ||
| . ($loadEnvPath) | ||
| $TestRecordingFile = Join-Path $PSScriptRoot 'New-AzAppNetworkAppLink.Recording.json' |
The earlier examples commit updated the AutoRest docs/*.md but the committed platyPS help/*.md files still contained the placeholder examples. Regenerate help/*.md via generate-help.ps1 so both doc sets are consistent and carry the appnet-preview-derived examples. Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 73 out of 73 changed files in this pull request and generated no new comments.
Suppressed comments (3)
src/AppNetwork/AppNetwork.Autorest/test/New-AzAppNetworkAppLink.Tests.ps1:9
- The Pester test harness is configured to run in playback mode using
New-AzAppNetworkAppLink.Recording.json, but there are currently no.Recording.jsonfiles checked in for this module. In CI playback runs, this typically causes tests to fail when the recording file is missing. Please run a live-Recordpass for the module tests and commit the generated*.Recording.jsonfiles (or skip/disable these tests until the recordings are available).
src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkAvailableVersion.Tests.ps1:20 - This cmdlet currently has no active test coverage because the only test is a skipped NotImplemented stub. Since the cmdlet is part of the newly onboarded surface, add at least a basic playback-friendly assertion (e.g., call the cmdlet for
$env.locationand ensure results are returned).
src/AppNetwork/AppNetwork.Autorest/test/utils.ps1:58 $env.aksClusterIdis populated fromAKS_CLUSTER_IDbut never validated. In record/live mode, ifAKS_CLUSTER_IDis not set, the AppLinkMember tests will callNew-AzAppNetworkAppLinkMemberwith a null-MetadataResourceIdand fail in a non-obvious way. Add an explicit check (record/live only) with a clear error so recording runs fail fast and are easier to diagnose.
Regenerate cmdlet help synopses and portal UX metadata to pick up the improved "Azure Kubernetes Application Network" descriptions from the AppLink TypeSpec. Set-* parameter-set names reflect the createOrReplace operation (Replace* variants). Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
Regenerate the AutoRest reference docs so their synopses match the updated help/ markdown and the AppLink TypeSpec wording. Fixes stale "Get an AppLink." style descriptions that were left behind. Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
|
/azp run |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 73 out of 73 changed files in this pull request and generated no new comments.
Suppressed comments (6)
src/AppNetwork/AppNetwork.Autorest/test/loadEnv.ps1:28
$envFilePathis computed (and can point to the parent directory), but the file is always read from(Join-Path $PSScriptRoot $envFile). Ifenv.jsononly exists at$envFilePath, this will fail to load test settings and defaults.
Read from $envFilePath instead of recomputing the path.
src/AppNetwork/AppNetwork.Autorest/Properties/AssemblyInfo.cs:5
- This AssemblyInfo header includes a MIT license reference and duplicates the copyright line, while other AutoRest modules in this repo use the Apache 2.0 header only. Keeping an incorrect/contradictory license header can create compliance confusion.
Please align this file’s header with the standard Apache 2.0 header used elsewhere (for example src/Dns/Dns.Autorest/Properties/AssemblyInfo.cs).
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the Apache License, Version 2.0 (the ""License"");
src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkAvailableVersion.Tests.ps1:20
- This test is currently
-skip, soGet-AzAppNetworkAvailableVersionhas no runnable coverage. Even a minimal playback-backed test (asserting non-empty output or expected property shapes) would help catch regressions in parameter binding and response deserialization.
src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkUpgradeHistory.Tests.ps1:20 - This test is currently
-skip, soGet-AzAppNetworkUpgradeHistoryhas no runnable coverage. Adding a basic playback test would validate parameter binding and response shape for this cmdlet.
src/AppNetwork/AppNetwork.Autorest/test/loadEnv.ps1:24 - In the fallback branch,
$envFilePathis built using a single string'..\$envFile'. This produces a literal backslash path segment (and embeds$envFileinside a quoted string), which breaks path normalization on non-Windows platforms and is inconsistent with theJoin-Pathusage elsewhere in the file.
Use Join-Path with separate path segments so $envFilePath resolves correctly cross-platform.
src/AppNetwork/AppNetwork.Autorest/test/Update-AzAppNetworkAppLinkMember.Tests.ps1:20
- All test cases for this cmdlet are currently marked
-skip, so the PR adds no executable coverage forUpdate-AzAppNetworkAppLinkMember(including the primaryUpdateExpandedparameter set). This is especially important because the PR description calls out lifecycle e2e tests including update.
Consider adding at least one non-skipped scenario (for example updating tags or upgrade profile settings on an existing member) and recording it into Update-AzAppNetworkAppLinkMember.Recording.json for playback.
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 73 out of 73 changed files in this pull request and generated no new comments.
Suppressed comments (5)
src/AppNetwork/AppNetwork.Autorest/test/loadEnv.ps1:28
$envFilePathis computed but not used when reading the env JSON (line 27 reads from$PSScriptRoot/$envFileregardless). This breaks the fallback to the parent directory and can cause tests to silently load the wrong (or no) env values.
src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkAvailableVersion.Tests.ps1:21- The only test case for
Get-AzAppNetworkAvailableVersionis currently skipped, so this cmdlet has no effective test coverage (even after recordings are added).
src/AppNetwork/AppNetwork.Autorest/test/Get-AzAppNetworkUpgradeHistory.Tests.ps1:21 - The only test case for
Get-AzAppNetworkUpgradeHistoryis currently skipped, so this cmdlet has no effective test coverage (even after recordings are added).
src/AppNetwork/AppNetwork.Autorest/how-to.md:40 generate-help.ps1is documented twice in the "Module Script Details" list, which can confuse maintainers about which description is authoritative.
src/AppNetwork/AppNetwork.Autorest/how-to.md:30- Typo in parameter description: "Supresses" should be "Suppresses".
Description
Onboards a new
Az.AppNetworkPowerShell module for theMicrosoft.AppLinkresource provider (API version2025-08-01-preview), generated from the AppLink TypeSpec source (specification/applink/AppLink.Management@4e3a778) using the@azure-tools/typespec-powershellemitter via AzDevNew-DevTSPModule.The module is named AppNetwork to stay consistent with the existing C#/Python/Java/TS/Go SDKs, which all emit under
AppNetwork(Azure.ResourceManager.AppNetwork,sdk/appnetwork), even though the RP namespace isMicrosoft.AppLink.Cmdlets added:
Get/New/Set/Update/Remove-AzAppNetworkAppLinkGet/New/Set/Update/Remove-AzAppNetworkAppLinkMemberGet-AzAppNetworkAvailableVersion,Get-AzAppNetworkUpgradeHistoryNotes:
SubscriptionIdfrom the current context, prunes non-Expanded/JSON Create/Update variants, and hides the rawOperationcmdlet.test/utils.ps1..Recording.jsonfiles still need a live-Recordpass before playback can run in CI.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.