Azure.ResourceManager.PlanetaryComputer 1.0.0-beta.1

Prefix Reserved
This is a prerelease version of Azure.ResourceManager.PlanetaryComputer.
dotnet add package Azure.ResourceManager.PlanetaryComputer --version 1.0.0-beta.1
                    
NuGet\Install-Package Azure.ResourceManager.PlanetaryComputer -Version 1.0.0-beta.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Azure.ResourceManager.PlanetaryComputer" Version="1.0.0-beta.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Azure.ResourceManager.PlanetaryComputer" Version="1.0.0-beta.1" />
                    
Directory.Packages.props
<PackageReference Include="Azure.ResourceManager.PlanetaryComputer" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Azure.ResourceManager.PlanetaryComputer --version 1.0.0-beta.1
                    
#r "nuget: Azure.ResourceManager.PlanetaryComputer, 1.0.0-beta.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Azure.ResourceManager.PlanetaryComputer@1.0.0-beta.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Azure.ResourceManager.PlanetaryComputer&version=1.0.0-beta.1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Azure.ResourceManager.PlanetaryComputer&version=1.0.0-beta.1&prerelease
                    
Install as a Cake Tool

Microsoft Azure PlanetaryComputer client library for .NET

The Azure.ResourceManager.PlanetaryComputer SDK is the .NET Management Plane SDK for working with GeoCatalog resources under the PlanetaryComputer service.

It supports full CRUD operations, as well as recorded and playback testing using the Azure SDK's standard test framework.


Project Structure

sdk/
└── planetarycomputer/
    └── Azure.ResourceManager.PlanetaryComputer/
        ├── src/                                        # Generated SDK source code
        ├── tests/
        │   ├── Scenario/
        │   │   └── GeoCatalogCollectionTests.cs        # Main scenario tests
        │   ├── PlanetaryComputerManagementTestBase.cs  # Base test infrastructure
        │   └── PlanetaryComputerManagementTestEnvironment.cs
        ├── Azure.ResourceManager.PlanetaryComputer.csproj
        ├── Azure.ResourceManager.PlanetaryComputer.Tests.csproj
        └── assets.json                                 # Required for test recording/playback

Getting started

Install the Package

Install the package via NuGet:

dotnet add package Azure.ResourceManager.PlanetaryComputer --prerelease

Prerequisites

  • .NET SDK 8.0+
  • Azure SDK Test Proxy
    dotnet tool install --global Azure.Sdk.Tools.TestProxy
    
  • Logged in to Azure CLI:
    az login
    
  • Set the following environment variables for test execution:
$env:AZURE_SUBSCRIPTION_ID = "<your-subscription-id>"
$env:AZURE_TEST_MODE = "Record"   # or "Playback"
$env:AZURE_AUTHORITY_HOST = "https://login.microsoftonline.com"

Authenticate the Client

To authenticate the client, use the DefaultAzureCredential from the Azure.Identity library. Ensure your environment is set up with the necessary Azure credentials.

using Azure.Identity;
using Azure.ResourceManager.PlanetaryComputer;

var credential = new DefaultAzureCredential();
var client = new PlanetaryComputerManagementClient(credential);

Supported Tests

Test Name Description
CreateGeoCatalog Creates a GeoCatalog
UpdateGeoCatalog Updates an existing GeoCatalog
DeleteGeoCatalog Deletes a GeoCatalog
GetGeoCatalog Retrieves a specific GeoCatalog
ListGeoCatalogsInResourceGroup Lists GeoCatalogs in a resource group
ListGeoCatalogsBySubscription Lists GeoCatalogs under a subscription
CreateUpdateDeleteGeoCatalog Full CRUD scenario combined

Running Tests

Record Mode (Live with Azure)

  1. Start the test proxy:
    test-proxy
    
  2. Set mode:
    $env:AZURE_TEST_MODE = "Record"
    
  3. Run a specific test:
    dotnet test -f net8.0 --filter "Name=CreateUpdateDeleteGeoCatalog"
    
  4. Recordings are saved to:
    .azure-sdk-for-net/.assets/<hash>/net/sdk/PlanetaryComputer/Azure.ResourceManager.PlanetaryComputer/tests/SessionRecords
    

Playback Mode (Offline Testing)

  1. Set mode:
    $env:AZURE_TEST_MODE = "Playback"
    
  2. (Optional) Restore recordings:
    test-proxy restore -a ./assets.json
    
  3. Run test:
    dotnet test -f net8.0 --filter "Name=CreateUpdateDeleteGeoCatalog"
    

Key concepts

The PlanetaryComputer SDK provides management capabilities for GeoCatalog resources. Key concepts include:

  • GeoCatalog: Represents a catalog of geospatial data.
  • CRUD Operations: Create, Read, Update, and Delete operations for GeoCatalog resources.
  • Authentication: Uses Azure Active Directory for secure access.

Examples

Create a GeoCatalog

var geoCatalogData = new GeoCatalogData(new AzureLocation("uksouth"))
{
    Properties = new GeoCatalogProperties
    {
        Tier = CatalogTier.Basic
    }
};

var geoCatalog = await client.GeoCatalogs.CreateOrUpdateAsync("resourceGroupName", "geoCatalogName", geoCatalogData);

List GeoCatalogs

var geoCatalogs = await client.GeoCatalogs.ListAsync("resourceGroupName");
foreach (var catalog in geoCatalogs)
{
    Console.WriteLine(catalog.Name);
}

Troubleshooting

If you encounter issues, check the following:

  • Ensure Azure CLI is logged in (az login).
  • Verify the subscription and resource group names.
  • Check for network connectivity issues.

Next steps

Explore additional features of the PlanetaryComputer SDK:

Contributing

We welcome contributions! Please see our Contributing Guide for details on how to get started.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0-beta.1 118 7/11/2025