azure-mgmt-mongodbatlas-dotnet

Azure.ResourceManager.MongoDBAtlas SDK

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "azure-mgmt-mongodbatlas-dotnet" with this command: npx skills add claudedjale/skillset/claudedjale-skillset-azure-mgmt-mongodbatlas-dotnet

Azure.ResourceManager.MongoDBAtlas SDK

Manage MongoDB Atlas Organizations as Azure ARM resources with unified billing through Azure Marketplace.

Package Information

Property Value

Package Azure.ResourceManager.MongoDBAtlas

Version 1.0.0 (GA)

API Version 2025-06-01

Resource Type MongoDB.Atlas/organizations

NuGet Azure.ResourceManager.MongoDBAtlas

Installation

dotnet add package Azure.ResourceManager.MongoDBAtlas dotnet add package Azure.Identity dotnet add package Azure.ResourceManager

Important Scope Limitation

This SDK manages MongoDB Atlas Organizations as Azure ARM resources for marketplace integration. It does NOT directly manage:

  • Atlas clusters

  • Databases

  • Collections

  • Users/roles

For cluster management, use the MongoDB Atlas API directly after creating the organization.

Authentication

using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.MongoDBAtlas; using Azure.ResourceManager.MongoDBAtlas.Models;

// Create ARM client with DefaultAzureCredential var credential = new DefaultAzureCredential(); var armClient = new ArmClient(credential);

Core Types

Type Purpose

MongoDBAtlasOrganizationResource

ARM resource representing an Atlas organization

MongoDBAtlasOrganizationCollection

Collection of organizations in a resource group

MongoDBAtlasOrganizationData

Data model for organization resource

MongoDBAtlasOrganizationProperties

Organization-specific properties

MongoDBAtlasMarketplaceDetails

Azure Marketplace subscription details

MongoDBAtlasOfferDetails

Marketplace offer configuration

MongoDBAtlasUserDetails

User information for the organization

MongoDBAtlasPartnerProperties

MongoDB-specific properties (org name, ID)

Workflows

Get Organization Collection

// Get resource group var subscription = await armClient.GetDefaultSubscriptionAsync(); var resourceGroup = await subscription.GetResourceGroupAsync("my-resource-group");

// Get organizations collection MongoDBAtlasOrganizationCollection organizations = resourceGroup.Value.GetMongoDBAtlasOrganizations();

Create Organization

var organizationName = "my-atlas-org"; var location = AzureLocation.EastUS2;

// Build organization data var organizationData = new MongoDBAtlasOrganizationData(location) { Properties = new MongoDBAtlasOrganizationProperties( marketplace: new MongoDBAtlasMarketplaceDetails( subscriptionId: "your-azure-subscription-id", offerDetails: new MongoDBAtlasOfferDetails( publisherId: "mongodb", offerId: "mongodb_atlas_azure_native_prod", planId: "private_plan", planName: "Pay as You Go (Free) (Private)", termUnit: "P1M", termId: "gmz7xq9ge3py" ) ), user: new MongoDBAtlasUserDetails( emailAddress: "admin@example.com", upn: "admin@example.com" ) { FirstName = "Admin", LastName = "User" } ) { PartnerProperties = new MongoDBAtlasPartnerProperties { OrganizationName = organizationName } }, Tags = { ["Environment"] = "Production" } };

// Create the organization (long-running operation) var operation = await organizations.CreateOrUpdateAsync( WaitUntil.Completed, organizationName, organizationData );

MongoDBAtlasOrganizationResource organization = operation.Value; Console.WriteLine($"Created: {organization.Id}");

Get Existing Organization

// Option 1: From collection MongoDBAtlasOrganizationResource org = await organizations.GetAsync("my-atlas-org");

// Option 2: From resource identifier var resourceId = MongoDBAtlasOrganizationResource.CreateResourceIdentifier( subscriptionId: "subscription-id", resourceGroupName: "my-resource-group", organizationName: "my-atlas-org" ); MongoDBAtlasOrganizationResource org2 = armClient.GetMongoDBAtlasOrganizationResource(resourceId); await org2.GetAsync(); // Fetch data

List Organizations

// List in resource group await foreach (var org in organizations.GetAllAsync()) { Console.WriteLine($"Org: {org.Data.Name}"); Console.WriteLine($" Location: {org.Data.Location}"); Console.WriteLine($" State: {org.Data.Properties?.ProvisioningState}"); }

// List across subscription await foreach (var org in subscription.GetMongoDBAtlasOrganizationsAsync()) { Console.WriteLine($"Org: {org.Data.Name} in {org.Data.Id}"); }

Update Tags

// Add a single tag await organization.AddTagAsync("CostCenter", "12345");

// Replace all tags await organization.SetTagsAsync(new Dictionary<string, string> { ["Environment"] = "Production", ["Team"] = "Platform" });

// Remove a tag await organization.RemoveTagAsync("OldTag");

Update Organization Properties

var patch = new MongoDBAtlasOrganizationPatch { Tags = { ["UpdatedAt"] = DateTime.UtcNow.ToString("o") }, Properties = new MongoDBAtlasOrganizationUpdateProperties { // Update user details if needed User = new MongoDBAtlasUserDetails( emailAddress: "newadmin@example.com", upn: "newadmin@example.com" ) } };

var updateOperation = await organization.UpdateAsync( WaitUntil.Completed, patch );

Delete Organization

// Delete (long-running operation) await organization.DeleteAsync(WaitUntil.Completed);

Model Properties Reference

MongoDBAtlasOrganizationProperties

Property Type Description

Marketplace

MongoDBAtlasMarketplaceDetails

Required. Marketplace subscription details

User

MongoDBAtlasUserDetails

Required. Organization admin user

PartnerProperties

MongoDBAtlasPartnerProperties

MongoDB-specific properties

ProvisioningState

MongoDBAtlasResourceProvisioningState

Read-only. Current provisioning state

MongoDBAtlasMarketplaceDetails

Property Type Description

SubscriptionId

string

Required. Azure subscription ID for billing

OfferDetails

MongoDBAtlasOfferDetails

Required. Marketplace offer configuration

SubscriptionStatus

MarketplaceSubscriptionStatus

Read-only. Subscription status

MongoDBAtlasOfferDetails

Property Type Description

PublisherId

string

Required. Publisher ID (typically "mongodb")

OfferId

string

Required. Offer ID

PlanId

string

Required. Plan ID

PlanName

string

Required. Display name of the plan

TermUnit

string

Required. Billing term unit (e.g., "P1M")

TermId

string

Required. Term identifier

MongoDBAtlasUserDetails

Property Type Description

EmailAddress

string

Required. User email address

Upn

string

Required. User principal name

FirstName

string

Optional. User first name

LastName

string

Optional. User last name

MongoDBAtlasPartnerProperties

Property Type Description

OrganizationName

string

Name of the MongoDB Atlas organization

OrganizationId

string

Read-only. MongoDB Atlas organization ID

Provisioning States

State Description

Succeeded

Resource provisioned successfully

Failed

Provisioning failed

Canceled

Provisioning was canceled

Provisioning

Resource is being provisioned

Updating

Resource is being updated

Deleting

Resource is being deleted

Accepted

Request accepted, provisioning starting

Marketplace Subscription Status

Status Description

PendingFulfillmentStart

Subscription pending activation

Subscribed

Active subscription

Suspended

Subscription suspended

Unsubscribed

Subscription canceled

Best Practices

Use Async Methods

// Prefer async for all operations var org = await organizations.GetAsync("my-org"); await org.Value.AddTagAsync("key", "value");

Handle Long-Running Operations

// Wait for completion var operation = await organizations.CreateOrUpdateAsync( WaitUntil.Completed, // Blocks until done name, data );

// Or start and poll later var operation = await organizations.CreateOrUpdateAsync( WaitUntil.Started, // Returns immediately name, data );

// Poll for completion while (!operation.HasCompleted) { await Task.Delay(TimeSpan.FromSeconds(5)); await operation.UpdateStatusAsync(); }

Check Provisioning State

var org = await organizations.GetAsync("my-org"); if (org.Value.Data.Properties?.ProvisioningState == MongoDBAtlasResourceProvisioningState.Succeeded) { Console.WriteLine("Organization is ready"); }

Use Resource Identifiers

// Create identifier without API call var resourceId = MongoDBAtlasOrganizationResource.CreateResourceIdentifier( subscriptionId, resourceGroupName, organizationName );

// Get resource handle (no data yet) var orgResource = armClient.GetMongoDBAtlasOrganizationResource(resourceId);

// Fetch data when needed var response = await orgResource.GetAsync();

Common Errors

Error Cause Solution

ResourceNotFound

Organization doesn't exist Verify name and resource group

AuthorizationFailed

Insufficient permissions Check RBAC roles on resource group

InvalidParameter

Missing required properties Ensure all required fields are set

MarketplaceError

Marketplace subscription issue Verify offer details and subscription

Related Resources

  • Microsoft Learn: MongoDB Atlas on Azure

  • API Reference

  • Azure SDK for .NET

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

azure-observability

No summary provided by upstream source.

Repository SourceNeeds Review
General

azure-appconfiguration-java

No summary provided by upstream source.

Repository SourceNeeds Review
General

azure-aigateway

No summary provided by upstream source.

Repository SourceNeeds Review
General

azure-ai-formrecognizer-java

No summary provided by upstream source.

Repository SourceNeeds Review