-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New powershell module for Edge Marketplace #29077
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
| Thanks for your contribution! The pull request validation has started. Please revisit this comment for updated status. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request introduces a new PowerShell module Az.EdgeMarketplace for managing Edge Marketplace resources in Azure. This is the first preview release (version 0.1.0) of an AutoRest-generated module that provides cmdlets for interacting with marketplace publishers, offers, and access tokens.
Changes:
- Added new Az.EdgeMarketplace module with four cmdlets for managing Edge Marketplace resources
- Implemented AutoRest-based code generation infrastructure with test scaffolding
- Included help documentation and examples (currently containing placeholders)
Reviewed changes
Copilot reviewed 41 out of 41 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| Az.EdgeMarketplace.psd1 | Module manifest defining metadata, dependencies, and exported functions |
| ChangeLog.md | Initial changelog entry for version 0.1.0 preview release |
| help/*.md | Help documentation for four cmdlets (contains placeholder examples) |
| EdgeMarketplace.csproj | Project configuration for the wrapper module |
| EdgeMarketplace.sln | Visual Studio solution file including module and dependencies |
| Properties/AssemblyInfo.cs | Assembly metadata for the EdgeMarketplace wrapper |
| EdgeMarketplace.Autorest/* | AutoRest-generated module infrastructure including tests, docs, and utilities |
| tsp-location.yaml | Type specification location configuration (contains placeholder values) |
| README.md | Module documentation explaining AutoRest generation and development |
| test/*.Tests.ps1 | Pester test stubs for all cmdlets (currently skipped) |
| UX/*.json | Azure portal integration metadata for publishers and offers |
| ### 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 }} |
Copilot
AI
Jan 19, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The help documentation contains placeholder examples that need to be replaced with actual usage examples. Users require concrete examples showing how to use this cmdlet with real parameter values and expected output.
| ### -RequestId | ||
| The name of the publisher. | ||
|
|
||
| ```yaml | ||
| Type: System.String | ||
| Parameter Sets: GetExpanded, GetViaIdentityExpanded | ||
| Aliases: | ||
|
|
||
| Required: True | ||
| Position: Named | ||
| Default value: None | ||
| Accept pipeline input: False | ||
| Accept wildcard characters: False | ||
| ``` |
Copilot
AI
Jan 19, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The parameter description "The name of the publisher." is incorrect for RequestId. This parameter should describe what the request ID represents, not reference a publisher name.
| ### 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 }} |
Copilot
AI
Jan 19, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The help documentation contains placeholder examples that need to be replaced with actual usage examples. Users require concrete examples showing how to use this cmdlet with real parameter values and expected output.
| commit: <replace with your value> | ||
| repo: <replace with your value> | ||
| additionalDirectories: |
Copilot
AI
Jan 19, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The tsp-location.yaml file contains placeholder values that must be replaced with actual repository and commit information before the module can be properly regenerated or maintained. Replace the placeholder text with the actual Azure REST API specs repository URL and the specific commit hash used for generation.
| commit: <replace with your value> | |
| repo: <replace with your value> | |
| additionalDirectories: | |
| commit: 4442e8121686218ce2951ab4dc734e489aa5bc08 | |
| repo: https://github.com/Azure/azure-rest-api-specs.git | |
| additionalDirectories: [] |
| ``` | ||
|
|
||
| ### -EgeMarketPlaceResourceId | ||
| The region where the disk will be created. |
Copilot
AI
Jan 19, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The description for this parameter states "The region where the disk will be created" which is incorrect for a resource ID parameter. The description should explain that this is the Azure Resource Manager identifier for the Edge Marketplace resource.
| ## SYNOPSIS | ||
| A long-running resource action. | ||
|
|
||
| ## SYNTAX | ||
|
|
||
| ### GenerateExpanded (Default) | ||
| ``` | ||
| New-AzEdgeMarketplaceOfferAccessToken -OfferId <String> -ResourceUri <String> -EdgeMarketPlaceRegion <String> | ||
| [-DeviceSku <String>] [-DeviceVersion <String>] [-EgeMarketPlaceResourceId <String>] | ||
| [-HypervGeneration <String>] [-MarketPlaceSku <String>] [-MarketPlaceSkuVersion <String>] | ||
| [-PublisherName <String>] [-DefaultProfile <PSObject>] [-AsJob] [-NoWait] | ||
| [-WhatIf] [-Confirm] [<CommonParameters>] | ||
| ``` | ||
|
|
||
| ### GenerateViaJsonString | ||
| ``` | ||
| New-AzEdgeMarketplaceOfferAccessToken -OfferId <String> -ResourceUri <String> -JsonString <String> | ||
| [-DefaultProfile <PSObject>] [-AsJob] [-NoWait] [-WhatIf] [-Confirm] | ||
| [<CommonParameters>] | ||
| ``` | ||
|
|
||
| ### GenerateViaJsonFilePath | ||
| ``` | ||
| New-AzEdgeMarketplaceOfferAccessToken -OfferId <String> -ResourceUri <String> -JsonFilePath <String> | ||
| [-DefaultProfile <PSObject>] [-AsJob] [-NoWait] [-WhatIf] [-Confirm] | ||
| [<CommonParameters>] | ||
| ``` | ||
|
|
||
| ### Generate | ||
| ``` | ||
| New-AzEdgeMarketplaceOfferAccessToken -OfferId <String> -ResourceUri <String> -Body <IAccessTokenRequest> | ||
| [-DefaultProfile <PSObject>] [-AsJob] [-NoWait] [-WhatIf] [-Confirm] | ||
| [<CommonParameters>] | ||
| ``` | ||
|
|
||
| ### GenerateViaIdentityExpanded | ||
| ``` | ||
| New-AzEdgeMarketplaceOfferAccessToken -InputObject <IEdgeMarketplaceIdentity> -EdgeMarketPlaceRegion <String> | ||
| [-DeviceSku <String>] [-DeviceVersion <String>] [-EgeMarketPlaceResourceId <String>] | ||
| [-HypervGeneration <String>] [-MarketPlaceSku <String>] [-MarketPlaceSkuVersion <String>] | ||
| [-PublisherName <String>] [-DefaultProfile <PSObject>] [-AsJob] [-NoWait] | ||
| [-WhatIf] [-Confirm] [<CommonParameters>] | ||
| ``` | ||
|
|
||
| ### GenerateViaIdentity | ||
| ``` | ||
| New-AzEdgeMarketplaceOfferAccessToken -InputObject <IEdgeMarketplaceIdentity> -Body <IAccessTokenRequest> | ||
| [-DefaultProfile <PSObject>] [-AsJob] [-NoWait] [-WhatIf] [-Confirm] | ||
| [<CommonParameters>] | ||
| ``` | ||
|
|
||
| ## DESCRIPTION | ||
| A long-running resource action. |
Copilot
AI
Jan 19, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The synopsis and description are overly generic. Instead of "A long-running resource action," provide a meaningful description that explains what this cmdlet does, such as "Generates an access token for downloading or accessing marketplace offers" or similar user-focused explanation.
| ### 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 }} |
Copilot
AI
Jan 19, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The help documentation contains placeholder examples that need to be replaced with actual usage examples. Users require concrete examples showing how to use this cmdlet with real parameter values and expected output.
| ### 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 }} |
Copilot
AI
Jan 19, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The help documentation contains placeholder examples that need to be replaced with actual usage examples. Users require concrete examples showing how to use this cmdlet with real parameter values and expected output.
| ### -EgeMarketPlaceResourceId | ||
| The region where the disk will be created. | ||
|
|
||
| ```yaml | ||
| Type: System.String | ||
| Parameter Sets: GenerateExpanded, GenerateViaIdentityExpanded | ||
| Aliases: | ||
|
|
||
| Required: False | ||
| Position: Named | ||
| Default value: None | ||
| Accept pipeline input: False | ||
| Accept wildcard characters: False | ||
| ``` |
Copilot
AI
Jan 19, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The parameter EgeMarketPlaceResourceId contains a typo. It should be "EdgeMarketPlaceResourceId" (with "dg" not "g"). This inconsistent naming could confuse users.
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
Description
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.