azure-mgmt-mongodbatlas-dotnet
Manage MongoDB Atlas Organizations as Azure ARM resources using Azure.ResourceManager.MongoDBAtlas SDK
Install / Use
npx skills add microsoft/skills --skill azure-mgmt-mongodbatlas-dotnetInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Data & AnalyticsSupported Platforms
Our assessment of azure-mgmt-mongodbatlas-dotnet
azure-mgmt-mongodbatlas-dotnet scores 90/100 on our quality scale, 157th of 422 Data & Analytics skills we index (top 38%).
Its SKILL.md is 12 KB long, well organised into 30 sections with 14 code examples: a thorough specification that gives an agent plenty to work with.
With 3,051 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 6 days ago, so azure-mgmt-mongodbatlas-dotnet is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.
Automated pattern scan on 2026-09-30. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
azure-mgmt-mongodbatlas-dotnet compared with similar skills
All 4 of these similar skills score higher than azure-mgmt-mongodbatlas-dotnet; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| azure-mgmt-mongodbatlas-dotnet (this skill)by microsoft | 90 | 3.1k | 6d ago | SKILL.md |
| algorithmic-artby anthropics | 100 | 177.9k | 7d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 7d ago | SKILL.md |
| designby nextlevelbuilder | 100 | 130.2k | 8d ago | SKILL.md |
| ui-ux-pro-maxby nextlevelbuilder | 100 | 130.2k | 8d ago | SKILL.md |
Frequently asked questions
- How do I install azure-mgmt-mongodbatlas-dotnet?
- Run
npx skills add microsoft/skills --skill azure-mgmt-mongodbatlas-dotnet. The install tabs above show the steps for each supported agent. - Which AI agents does azure-mgmt-mongodbatlas-dotnet work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is azure-mgmt-mongodbatlas-dotnet safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is azure-mgmt-mongodbatlas-dotnet still maintained?
- The repository was last updated 6 days ago, so azure-mgmt-mongodbatlas-dotnet is actively maintained.
Skill content
View source on GitHubname: azure-mgmt-mongodbatlas-dotnet description: Manage MongoDB Atlas Organizations as Azure ARM resources using Azure.ResourceManager.MongoDBAtlas SDK. Use when creating, updating, listing, or deleting MongoDB Atlas organizations through Azure Marketplace integration. This SDK manages the Azure-side organization resource, not Atlas clusters/databases directly. license: MIT metadata: author: Microsoft version: "1.0.0" package: Azure.ResourceManager.MongoDBAtlas
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.
Environment Variables
AZURE_SUBSCRIPTION_ID=<your-subscription-id> # Required: Azure subscription ID
AZURE_RESOURCE_GROUP=<your-resource-group> # Required: Azure resource group name
AZURE_TOKEN_CREDENTIALS=prod # Required only if DefaultAzureCredential is used in production
AZURE_TENANT_ID=<your-tenant-id> # For service principal auth (optional)
AZURE_CLIENT_ID=<your-client-id> # For service principal auth (optional)
AZURE_CLIENT_SECRET=<your-client-secret> # For service principal auth (optional)
Authentication
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.MongoDBAtlas;
using Azure.ResourceManager.MongoDBAtlas.Models;
// Local dev: DefaultAzureCredential. Production: set AZURE_TOKEN_CREDENTIALS=prod or AZURE_TOKEN_CREDENTIALS=<specific_credential>
var credential = new DefaultAzureCredential(
DefaultAzureCredential.DefaultEnvironmentVariableName
);
// Or use a specific credential directly in production:
// See https://learn.microsoft.com/dotnet/api/overview/azure/identity-readme?view=azure-dotnet#credential-classes
// var credential = new ManagedIdentityCredential();
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
Related Skills
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
design
130.2kComprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini, Atlas Cloud, or MuAPI AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG…
ui-ux-pro-max
130.2kUI/UX design intelligence for web, mobile, and desktop. This skill should be used when designing, building, reviewing, or fixing interfaces, including pages, components, design systems, accessibility, interaction, responsive layout, typography, color, charts, and stack-specific UI implementation.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
