Skip to content

Add Az.PlanetaryComputer module for GeoCatalog CRUD operations#29345

Merged
VeryEarly merged 7 commits intoAzure:mainfrom
thisisdevanshu:feature/planetary-computer-powershell-module
Apr 10, 2026
Merged

Add Az.PlanetaryComputer module for GeoCatalog CRUD operations#29345
VeryEarly merged 7 commits intoAzure:mainfrom
thisisdevanshu:feature/planetary-computer-powershell-module

Conversation

@thisisdevanshu
Copy link
Copy Markdown
Member

@thisisdevanshu thisisdevanshu commented Mar 31, 2026

  • AutoRest-generated PowerShell module for orbitalplanetarycomputer RP
  • API version: 2026-04-15 (stable)
  • Cmdlets: Get/New/Update/Remove-AzPlanetaryComputerGeoCatalog
  • Includes test recordings (playback verified, 6 passed, 0 failed)
  • Sensitive data scrubbed from recordings

Description

Mandatory Checklist

  • SHOULD update ChangeLog.md file(s) appropriately
    • Update src/{{SERVICE}}/{{SERVICE}}/ChangeLog.md.
      • A snippet outlining the change(s) made in the PR should be written under the ## Upcoming Release header in the past tense.
    • Should not change ChangeLog.md if no new release is required, such as fixing test case only.
  • SHOULD regenerate markdown help files if there is cmdlet API change. Instruction
  • SHOULD have proper test coverage for changes in pull request.
  • SHOULD NOT adjust version of module manually in pull request

Copilot AI review requested due to automatic review settings March 31, 2026 03:09
@azure-client-tools-bot-prd
Copy link
Copy Markdown

Thanks for your contribution! The pull request validation has started. Please revisit this comment for updated status.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new AutoRest-generated Az.PlanetaryComputer module to Azure PowerShell, exposing GeoCatalog CRUD cmdlets for the PlanetaryComputer (orbitalplanetarycomputer) resource provider.

Changes:

  • Introduced the Az.PlanetaryComputer module packaging project/manifest and initial changelog.
  • Added generated cmdlet help markdown for GeoCatalog cmdlets (Get/New/Update/Remove).
  • Added Pester tests and JSON recordings for GeoCatalog CRUD operations, plus supporting test utilities and AutoRest configuration.

Reviewed changes

Copilot reviewed 41 out of 43 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
src/PlanetaryComputer/PlanetaryComputer/Properties/AssemblyInfo.cs Assembly metadata for the module packaging project
src/PlanetaryComputer/PlanetaryComputer/PlanetaryComputer.csproj SDK-style csproj wiring module name/output + copies manifest/help
src/PlanetaryComputer/PlanetaryComputer/help/Update-AzPlanetaryComputerGeoCatalog.md User-facing help markdown for Update cmdlet
src/PlanetaryComputer/PlanetaryComputer/help/Remove-AzPlanetaryComputerGeoCatalog.md User-facing help markdown for Remove cmdlet
src/PlanetaryComputer/PlanetaryComputer/help/New-AzPlanetaryComputerGeoCatalog.md User-facing help markdown for New cmdlet
src/PlanetaryComputer/PlanetaryComputer/help/Get-AzPlanetaryComputerGeoCatalog.md User-facing help markdown for Get cmdlet
src/PlanetaryComputer/PlanetaryComputer/help/Az.PlanetaryComputer.md Help index page for the module
src/PlanetaryComputer/PlanetaryComputer/ChangeLog.md Module changelog with initial 0.1.0 entry
src/PlanetaryComputer/PlanetaryComputer/Az.PlanetaryComputer.psd1 Module manifest exporting GeoCatalog cmdlets and wiring nested AutoRest module
src/PlanetaryComputer/PlanetaryComputer.sln Solution updated to include PlanetaryComputer projects
src/PlanetaryComputer/PlanetaryComputer.Autorest/utils/Unprotect-SecureString.ps1 Utility to convert SecureString to plaintext (shared pattern across AutoRest modules)
src/PlanetaryComputer/PlanetaryComputer.Autorest/utils/Get-SubscriptionIdTestSafe.ps1 Test helper to resolve subscription ID safely in playback
src/PlanetaryComputer/PlanetaryComputer.Autorest/test/utils.ps1 Test env setup helpers (names/rg creation, env.json persistence)
src/PlanetaryComputer/PlanetaryComputer.Autorest/test/Update-AzPlanetaryComputerGeoCatalog.Tests.ps1 Pester tests for Update cmdlet
src/PlanetaryComputer/PlanetaryComputer.Autorest/test/Update-AzPlanetaryComputerGeoCatalog.Recording.json Playback recording for Update tests
src/PlanetaryComputer/PlanetaryComputer.Autorest/test/Remove-AzPlanetaryComputerGeoCatalog.Tests.ps1 Pester tests for Remove cmdlet
src/PlanetaryComputer/PlanetaryComputer.Autorest/test/README.md Test folder documentation
src/PlanetaryComputer/PlanetaryComputer.Autorest/test/New-AzPlanetaryComputerGeoCatalog.Tests.ps1 Pester tests for New cmdlet
src/PlanetaryComputer/PlanetaryComputer.Autorest/test/loadEnv.ps1 Loads env.json/localEnv.json for tests
src/PlanetaryComputer/PlanetaryComputer.Autorest/test/Get-AzPlanetaryComputerGeoCatalog.Tests.ps1 Pester tests for Get cmdlet
src/PlanetaryComputer/PlanetaryComputer.Autorest/test/Get-AzPlanetaryComputerGeoCatalog.Recording.json Playback recording for Get tests
src/PlanetaryComputer/PlanetaryComputer.Autorest/test/env.json Playback-safe test configuration values
src/PlanetaryComputer/PlanetaryComputer.Autorest/resources/README.md Resources folder documentation
src/PlanetaryComputer/PlanetaryComputer.Autorest/README.md AutoRest module README + pinned spec commit + directives
src/PlanetaryComputer/PlanetaryComputer.Autorest/Properties/AssemblyInfo.cs Assembly metadata for generated AutoRest project
src/PlanetaryComputer/PlanetaryComputer.Autorest/how-to.md Module development/build/test workflow doc
src/PlanetaryComputer/PlanetaryComputer.Autorest/generate-info.json Generation metadata
src/PlanetaryComputer/PlanetaryComputer.Autorest/examples/Update-AzPlanetaryComputerGeoCatalog.md Example stub source for Update help
src/PlanetaryComputer/PlanetaryComputer.Autorest/examples/Remove-AzPlanetaryComputerGeoCatalog.md Example stub source for Remove help
src/PlanetaryComputer/PlanetaryComputer.Autorest/examples/New-AzPlanetaryComputerGeoCatalog.md Example stub source for New help
src/PlanetaryComputer/PlanetaryComputer.Autorest/examples/Get-AzPlanetaryComputerGeoCatalog.md Example stub source for Get help
src/PlanetaryComputer/PlanetaryComputer.Autorest/docs/Update-AzPlanetaryComputerGeoCatalog.md Generated reference docs for Update
src/PlanetaryComputer/PlanetaryComputer.Autorest/docs/Remove-AzPlanetaryComputerGeoCatalog.md Generated reference docs for Remove
src/PlanetaryComputer/PlanetaryComputer.Autorest/docs/README.md Docs folder description
src/PlanetaryComputer/PlanetaryComputer.Autorest/docs/New-AzPlanetaryComputerGeoCatalog.md Generated reference docs for New
src/PlanetaryComputer/PlanetaryComputer.Autorest/docs/Get-AzPlanetaryComputerGeoCatalog.md Generated reference docs for Get
src/PlanetaryComputer/PlanetaryComputer.Autorest/docs/Az.PlanetaryComputer.md Generated docs index for the module
src/PlanetaryComputer/PlanetaryComputer.Autorest/custom/README.md Customization folder documentation
src/PlanetaryComputer/PlanetaryComputer.Autorest/custom/Az.PlanetaryComputer.custom.psm1 Custom module loader/exports for generated + custom cmdlets
src/PlanetaryComputer/PlanetaryComputer.Autorest/.gitignore AutoRest module gitignore (standard layout)
src/PlanetaryComputer/PlanetaryComputer.Autorest/.gitattributes Text normalization settings

Comment thread src/PlanetaryComputer/PlanetaryComputer.Autorest/test/loadEnv.ps1 Outdated
@NoriZC
Copy link
Copy Markdown
Contributor

NoriZC commented Mar 31, 2026

/azp run

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

- AutoRest-generated PowerShell module for orbitalplanetarycomputer RP
- API version: 2026-04-15 (stable)
- Cmdlets: Get/New/Update/Remove-AzPlanetaryComputerGeoCatalog
- Includes test recordings (playback verified, 6 passed, 0 failed)
- Sensitive data scrubbed from recordings
…ness, add help examples

- Fix loadEnv.ps1: use Join-Path with separate args instead of single-quoted
  string, and use $envFilePath consistently for Get-Content
- New test: initialize $result before polling loop, add null guard assertion
- Remove test: narrow catch to 404/NotFound errors, rethrow unexpected exceptions
- Fill in EXAMPLES sections in all 4 help markdown files with real examples
Copilot AI review requested due to automatic review settings March 31, 2026 04:10
@thisisdevanshu thisisdevanshu force-pushed the feature/planetary-computer-powershell-module branch from 3105e4c to e18c58e Compare March 31, 2026 04:10
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 42 out of 44 changed files in this pull request and generated 8 comments.

Comment thread src/PlanetaryComputer/PlanetaryComputer.Autorest/test/README.md Outdated
Comment thread src/PlanetaryComputer/PlanetaryComputer.Autorest/resources/README.md Outdated
Comment thread src/PlanetaryComputer/PlanetaryComputer.Autorest/docs/README.md Outdated
Comment thread src/PlanetaryComputer/PlanetaryComputer.Autorest/custom/README.md Outdated
@NoriZC
Copy link
Copy Markdown
Contributor

NoriZC commented Mar 31, 2026

/azp run

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

@NoriZC
Copy link
Copy Markdown
Contributor

NoriZC commented Mar 31, 2026

/azp run

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

Copilot AI review requested due to automatic review settings March 31, 2026 05:15
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 42 out of 44 changed files in this pull request and generated 8 comments.

Comment on lines +20 to +22
## Upcoming Release

## Version 0.1.0
Copy link

Copilot AI Mar 31, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "## Upcoming Release" section is empty, but this PR introduces a new user-facing module/cmdlets. Add a bullet entry under "Upcoming Release" describing the new Az.PlanetaryComputer GeoCatalog CRUD cmdlets (and any notable behavior) from the user's perspective.

Copilot uses AI. Check for mistakes.
Comment thread src/PlanetaryComputer/PlanetaryComputer/ChangeLog.md Outdated
Comment thread src/PlanetaryComputer/PlanetaryComputer.Autorest/test/loadEnv.ps1 Outdated
@NoriZC
Copy link
Copy Markdown
Contributor

NoriZC commented Mar 31, 2026

/azp run

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

@NoriZC
Copy link
Copy Markdown
Contributor

NoriZC commented Mar 31, 2026

/azp run

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

@thisisdevanshu thisisdevanshu marked this pull request as ready for review March 31, 2026 07:16
Copilot AI review requested due to automatic review settings March 31, 2026 07:16
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 42 out of 44 changed files in this pull request and generated 2 comments.

Comment on lines +20 to +25
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlanetaryComputer", "PlanetaryComputer\PlanetaryComputer.csproj", "{F718C673-41B1-4EFF-8BC7-FAF7741EE1CC}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PlanetaryComputer.Autorest", "PlanetaryComputer.Autorest", "{CCAA561C-53D6-0103-ACD1-BC39C0BA997B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Az.PlanetaryComputer", "..\..\generated\PlanetaryComputer\PlanetaryComputer.Autorest\Az.PlanetaryComputer.csproj", "{57B31766-F6A8-4733-AE78-C039C83B53E6}"
EndProject
Copy link

Copilot AI Mar 31, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The solution references ..\..\generated\PlanetaryComputer\PlanetaryComputer.Autorest\Az.PlanetaryComputer.csproj, but there is no corresponding generated/PlanetaryComputer/PlanetaryComputer.Autorest directory/project in the repo. This will break opening/building the solution and likely CI builds that expect generated artifacts to be checked in. Add the missing generated project/artifacts under generated/PlanetaryComputer/PlanetaryComputer.Autorest (consistent with other modules like ComputeLimit) or update the project path to the correct checked-in location.

Copilot uses AI. Check for mistakes.
Comment on lines +54 to +70
RequiredModules = @(@{ModuleName = 'Az.Accounts'; ModuleVersion = '5.3.3'; })

# Assemblies that must be loaded prior to importing this module
RequiredAssemblies = 'PlanetaryComputer.Autorest/bin/Az.PlanetaryComputer.private.dll'

# Script files (.ps1) that are run in the caller's environment prior to importing this module.
ScriptsToProcess = @()

# Type files (.ps1xml) to be loaded when importing this module
TypesToProcess = @()

# Format files (.ps1xml) to be loaded when importing this module
FormatsToProcess = 'PlanetaryComputer.Autorest/Az.PlanetaryComputer.format.ps1xml'

# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
NestedModules = @('PlanetaryComputer.Autorest/Az.PlanetaryComputer.psm1')

Copy link

Copilot AI Mar 31, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This manifest points to runtime artifacts under PlanetaryComputer.Autorest/ (e.g., Az.PlanetaryComputer.psm1, Az.PlanetaryComputer.format.ps1xml, and bin/Az.PlanetaryComputer.private.dll), but those files/folders are not present in the repo for this module. Without the checked-in generated PlanetaryComputer.Autorest output (typically under generated/<Module>/<Module>.Autorest), Import-Module Az.PlanetaryComputer will fail. Ensure the generated AutoRest output (psm1/ps1xml/private dll build inputs) is added and the paths here match the checked-in/generated layout used by other modules.

Copilot uses AI. Check for mistakes.
- Additional information about change #1
-->
## Upcoming Release
* Added `Get-AzPlanetaryComputerGeoCatalog`, `New-AzPlanetaryComputerGeoCatalog`, `Update-AzPlanetaryComputerGeoCatalog`, and `Remove-AzPlanetaryComputerGeoCatalog` cmdlets for GeoCatalog CRUD operations.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please move line 21 to line 25, no need to edit upcoming release section for the first release

@VeryEarly VeryEarly self-assigned this Apr 1, 2026
@VeryEarly
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

Copilot AI review requested due to automatic review settings April 10, 2026 02:28
@VeryEarly VeryEarly enabled auto-merge (squash) April 10, 2026 02:30
@NoriZC
Copy link
Copy Markdown
Contributor

NoriZC commented Apr 10, 2026

/azp run

@azure-pipelines
Copy link
Copy Markdown
Contributor

Azure Pipelines successfully started running 3 pipeline(s).

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 42 out of 44 changed files in this pull request and generated 2 comments.

Comment on lines +22 to +25
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PlanetaryComputer.Autorest", "PlanetaryComputer.Autorest", "{CCAA561C-53D6-0103-ACD1-BC39C0BA997B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Az.PlanetaryComputer", "..\..\generated\PlanetaryComputer\PlanetaryComputer.Autorest\Az.PlanetaryComputer.csproj", "{57B31766-F6A8-4733-AE78-C039C83B53E6}"
EndProject
Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The solution references the generated project at ..\..\generated\PlanetaryComputer\PlanetaryComputer.Autorest\Az.PlanetaryComputer.csproj, but there is no corresponding generated/PlanetaryComputer folder in the repo. This will break solution load/build unless the generated project is added (or the path updated to the correct location).

Copilot uses AI. Check for mistakes.
Comment on lines +22 to +24
## Version 0.1.0
* First release for module Az.PlanetaryComputer
* Added `Get-AzPlanetaryComputerGeoCatalog`, `New-AzPlanetaryComputerGeoCatalog`, `Update-AzPlanetaryComputerGeoCatalog`, and `Remove-AzPlanetaryComputerGeoCatalog` cmdlets for GeoCatalog CRUD operations.
Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changelog entries should be written for Azure PowerShell users; “CRUD” is a developer acronym and is unclear for many users. Consider replacing it with “create, get, update, and remove operations” (or similar) to keep the entry user-focused.

Copilot uses AI. Check for mistakes.
@VeryEarly VeryEarly merged commit 5aa0cf4 into Azure:main Apr 10, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants