[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69ANE0BE1J8SRAED013GCSX":3,"skill-same:01M69ANE0BE1J8SRAED013GCSX":70},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":51,"ownerHtmlUrl":52,"ownerBlogUrl":53,"ownerDescription":54,"updatedAt":55,"install":56,"resources":69},"01M69ANE0BE1J8SRAED013GCSX","azure-mgmt-mongodbatlas-dotnet",null,"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\u002Fdatabases directly.","microsoft\u002Fskills","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69AJYYW4E1RMSYCQDJ4FJSH",3202,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-sdk-dotnet\u002Fskills\u002Fazure-mgmt-mongodbatlas-dotnet\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,9],"dotnet","azure","azure mgmt mongodbatlas dotnet","databases","Clusters","listing","when","mongodb atlas","organizations","resources","as","organization","manage","sdk","use","atlas","mongodb","marketplace","integration","2026-11-10 10:12:30",false,"---\nname: azure-mgmt-mongodbatlas-dotnet\ndescription: 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\u002Fdatabases directly.\nlicense: MIT\nmetadata:\n  author: Microsoft\n  version: \"1.0.0\"\n  package: Azure.ResourceManager.MongoDBAtlas\n---\n\n# Azure.ResourceManager.MongoDBAtlas SDK\n\nManage MongoDB Atlas Organizations as Azure ARM resources with unified billing through Azure Marketplace.\n\n## Package Information\n\n| Property | Value |\n|----------|-------|\n| Package | `Azure.ResourceManager.MongoDBAtlas` |\n| Version | 1.0.0 (GA) |\n| API Version | 2025-06-01 |\n| Resource Type | `MongoDB.Atlas\u002Forganizations` |\n| NuGet | [Azure.ResourceManager.MongoDBAtlas](https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FAzure.ResourceManager.MongoDBAtlas) |\n\n## Installation\n\n```bash\ndotnet add package Azure.ResourceManager.MongoDBAtlas\ndotnet add package Azure.Identity\ndotnet add package Azure.ResourceManager\n```\n\n## Important Scope Limitation\n\nThis SDK manages **MongoDB Atlas Organizations as Azure ARM resources** for marketplace integration. It does NOT directly manage:\n- Atlas clusters\n- Databases\n- Collections\n- Users\u002Froles\n\nFor cluster management, use the MongoDB Atlas API directly after creating the organization.\n\n## Environment Variables\n\n```bash\nAZURE_SUBSCRIPTION_ID=\u003Cyour-subscription-id> # Required: Azure subscription ID\nAZURE_RESOURCE_GROUP=\u003Cyour-resource-group> # Required: Azure resource group name\nAZURE_TOKEN_CREDENTIALS=prod  # Required only if DefaultAzureCredential is used in production\nAZURE_TENANT_ID=\u003Cyour-tenant-id> # For service principal auth (optional)\nAZURE_CLIENT_ID=\u003Cyour-client-id> # For service principal auth (optional)\nAZURE_CLIENT_SECRET=\u003Cyour-client-secret> # For service principal auth (optional)\n```\n\n## Authentication\n\n```csharp\nusing Azure.Identity;\nusing Azure.ResourceManager;\nusing Azure.ResourceManager.MongoDBAtlas;\nusing Azure.ResourceManager.MongoDBAtlas.Models;\n\n\u002F\u002F Local dev: DefaultAzureCredential. Production: set AZURE_TOKEN_CREDENTIALS=prod or AZURE_TOKEN_CREDENTIALS=\u003Cspecific_credential>\nvar credential = new DefaultAzureCredential(\n    DefaultAzureCredential.DefaultEnvironmentVariableName\n);\n\u002F\u002F Or use a specific credential directly in production:\n\u002F\u002F See https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Foverview\u002Fazure\u002Fidentity-readme?view=azure-dotnet#credential-classes\n\u002F\u002F var credential = new ManagedIdentityCredential();\nvar armClient = new ArmClient(credential);\n```\n\n## Core Types\n\n| Type | Purpose |\n|------|---------|\n| `MongoDBAtlasOrganizationResource` | ARM resource representing an Atlas organization |\n| `MongoDBAtlasOrganizationCollection` | Collection of organizations in a resource group |\n| `MongoDBAtlasOrganizationData` | Data model for organization resource |\n| `MongoDBAtlasOrganizationProperties` | Organization-specific properties |\n| `MongoDBAtlasMarketplaceDetails` | Azure Marketplace subscription details |\n| `MongoDBAtlasOfferDetails` | Marketplace offer configuration |\n| `MongoDBAtlasUserDetails` | User information for the organization |\n| `MongoDBAtlasPartnerProperties` | MongoDB-specific properties (org name, ID) |\n\n## Workflows\n\n### Get Organization Collection\n\n```csharp\n\u002F\u002F Get resource group\nvar subscription = await armClient.GetDefaultSubscriptionAsync();\nvar resourceGroup = await subscription.GetResourceGroupAsync(\"my-resource-group\");\n\n\u002F\u002F Get organizations collection\nMongoDBAtlasOrganizationCollection organizations = \n    resourceGroup.Value.GetMongoDBAtlasOrganizations();\n```\n\n### Create Organization\n\n```csharp\nvar organizationName = \"my-atlas-org\";\nvar location = AzureLocation.EastUS2;\n\n\u002F\u002F Build organization data\nvar organizationData = new MongoDBAtlasOrganizationData(location)\n{\n    Properties = new MongoDBAtlasOrganizationProperties(\n        marketplace: new MongoDBAtlasMarketplaceDetails(\n            subscriptionId: \"your-azure-subscription-id\",\n            offerDetails: new MongoDBAtlasOfferDetails(\n                publisherId: \"mongodb\",\n                offerId: \"mongodb_atlas_azure_native_prod\",\n                planId: \"private_plan\",\n                planName: \"Pay as You Go (Free) (Private)\",\n                termUnit: \"P1M\",\n                termId: \"gmz7xq9ge3py\"\n            )\n        ),\n        user: new MongoDBAtlasUserDetails(\n            emailAddress: \"admin@example.com\",\n            upn: \"admin@example.com\"\n        )\n        {\n            FirstName = \"Admin\",\n            LastName = \"User\"\n        }\n    )\n    {\n        PartnerProperties = new MongoDBAtlasPartnerProperties\n        {\n            OrganizationName = organizationName\n        }\n    },\n    Tags = { [\"Environment\"] = \"Production\" }\n};\n\n\u002F\u002F Create the organization (long-running operation)\nvar operation = await organizations.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    organizationName,\n    organizationData\n);\n\nMongoDBAtlasOrganizationResource organization = operation.Value;\nConsole.WriteLine($\"Created: {organization.Id}\");\n```\n\n### Get Existing Organization\n\n```csharp\n\u002F\u002F Option 1: From collection\nMongoDBAtlasOrganizationResource org = \n    await organizations.GetAsync(\"my-atlas-org\");\n\n\u002F\u002F Option 2: From resource identifier\nvar resourceId = MongoDBAtlasOrganizationResource.CreateResourceIdentifier(\n    subscriptionId: \"subscription-id\",\n    resourceGroupName: \"my-resource-group\",\n    organizationName: \"my-atlas-org\"\n);\nMongoDBAtlasOrganizationResource org2 = \n    armClient.GetMongoDBAtlasOrganizationResource(resourceId);\nawait org2.GetAsync(); \u002F\u002F Fetch data\n```\n\n### List Organizations\n\n```csharp\n\u002F\u002F List in resource group\nawait foreach (var org in organizations.GetAllAsync())\n{\n    Console.WriteLine($\"Org: {org.Data.Name}\");\n    Console.WriteLine($\"  Location: {org.Data.Location}\");\n    Console.WriteLine($\"  State: {org.Data.Properties?.ProvisioningState}\");\n}\n\n\u002F\u002F List across subscription\nawait foreach (var org in subscription.GetMongoDBAtlasOrganizationsAsync())\n{\n    Console.WriteLine($\"Org: {org.Data.Name} in {org.Data.Id}\");\n}\n```\n\n### Update Tags\n\n```csharp\n\u002F\u002F Add a single tag\nawait organization.AddTagAsync(\"CostCenter\", \"12345\");\n\n\u002F\u002F Replace all tags\nawait organization.SetTagsAsync(new Dictionary\u003Cstring, string>\n{\n    [\"Environment\"] = \"Production\",\n    [\"Team\"] = \"Platform\"\n});\n\n\u002F\u002F Remove a tag\nawait organization.RemoveTagAsync(\"OldTag\");\n```\n\n### Update Organization Properties\n\n```csharp\nvar patch = new MongoDBAtlasOrganizationPatch\n{\n    Tags = { [\"UpdatedAt\"] = DateTime.UtcNow.ToString(\"o\") },\n    Properties = new MongoDBAtlasOrganizationUpdateProperties\n    {\n        \u002F\u002F Update user details if needed\n        User = new MongoDBAtlasUserDetails(\n            emailAddress: \"newadmin@example.com\",\n            upn: \"newadmin@example.com\"\n        )\n    }\n};\n\nvar updateOperation = await organization.UpdateAsync(\n    WaitUntil.Completed,\n    patch\n);\n```\n\n### Delete Organization\n\n```csharp\n\u002F\u002F Delete (long-running operation)\nawait organization.DeleteAsync(WaitUntil.Completed);\n```\n\n## Model Properties Reference\n\n### MongoDBAtlasOrganizationProperties\n\n| Property | Type | Description |\n|----------|------|-------------|\n| `Marketplace` | `MongoDBAtlasMarketplaceDetails` | Required. Marketplace subscription details |\n| `User` | `MongoDBAtlasUserDetails` | Required. Organization admin user |\n| `PartnerProperties` | `MongoDBAtlasPartnerProperties` | MongoDB-specific properties |\n| `ProvisioningState` | `MongoDBAtlasResourceProvisioningState` | Read-only. Current provisioning state |\n\n### MongoDBAtlasMarketplaceDetails\n\n| Property | Type | Description |\n|----------|------|-------------|\n| `SubscriptionId` | `string` | Required. Azure subscription ID for billing |\n| `OfferDetails` | `MongoDBAtlasOfferDetails` | Required. Marketplace offer configuration |\n| `SubscriptionStatus` | `MarketplaceSubscriptionStatus` | Read-only. Subscription status |\n\n### MongoDBAtlasOfferDetails\n\n| Property | Type | Description |\n|----------|------|-------------|\n| `PublisherId` | `string` | Required. Publisher ID (typically \"mongodb\") |\n| `OfferId` | `string` | Required. Offer ID |\n| `PlanId` | `string` | Required. Plan ID |\n| `PlanName` | `string` | Required. Display name of the plan |\n| `TermUnit` | `string` | Required. Billing term unit (e.g., \"P1M\") |\n| `TermId` | `string` | Required. Term identifier |\n\n### MongoDBAtlasUserDetails\n\n| Property | Type | Description |\n|----------|------|-------------|\n| `EmailAddress` | `string` | Required. User email address |\n| `Upn` | `string` | Required. User principal name |\n| `FirstName` | `string` | Optional. User first name |\n| `LastName` | `string` | Optional. User last name |\n\n### MongoDBAtlasPartnerProperties\n\n| Property | Type | Description |\n|----------|------|-------------|\n| `OrganizationName` | `string` | Name of the MongoDB Atlas organization |\n| `OrganizationId` | `string` | Read-only. MongoDB Atlas organization ID |\n\n## Provisioning States\n\n| State | Description |\n|-------|-------------|\n| `Succeeded` | Resource provisioned successfully |\n| `Failed` | Provisioning failed |\n| `Canceled` | Provisioning was canceled |\n| `Provisioning` | Resource is being provisioned |\n| `Updating` | Resource is being updated |\n| `Deleting` | Resource is being deleted |\n| `Accepted` | Request accepted, provisioning starting |\n\n## Marketplace Subscription Status\n\n| Status | Description |\n|--------|-------------|\n| `PendingFulfillmentStart` | Subscription pending activation |\n| `Subscribed` | Active subscription |\n| `Suspended` | Subscription suspended |\n| `Unsubscribed` | Subscription canceled |\n\n## Best Practices\n\n### Use Async Methods\n\n```csharp\n\u002F\u002F Prefer async for all operations\nvar org = await organizations.GetAsync(\"my-org\");\nawait org.Value.AddTagAsync(\"key\", \"value\");\n```\n\n### Handle Long-Running Operations\n\n```csharp\n\u002F\u002F Wait for completion\nvar operation = await organizations.CreateOrUpdateAsync(\n    WaitUntil.Completed,  \u002F\u002F Blocks until done\n    name,\n    data\n);\n\n\u002F\u002F Or start and poll later\nvar operation = await organizations.CreateOrUpdateAsync(\n    WaitUntil.Started,  \u002F\u002F Returns immediately\n    name,\n    data\n);\n\n\u002F\u002F Poll for completion\nwhile (!operation.HasCompleted)\n{\n    await Task.Delay(TimeSpan.FromSeconds(5));\n    await operation.UpdateStatusAsync();\n}\n```\n\n### Check Provisioning State\n\n```csharp\nvar org = await organizations.GetAsync(\"my-org\");\nif (org.Value.Data.Properties?.ProvisioningState == \n    MongoDBAtlasResourceProvisioningState.Succeeded)\n{\n    Console.WriteLine(\"Organization is ready\");\n}\n```\n\n### Use Resource Identifiers\n\n```csharp\n\u002F\u002F Create identifier without API call\nvar resourceId = MongoDBAtlasOrganizationResource.CreateResourceIdentifier(\n    subscriptionId,\n    resourceGroupName,\n    organizationName\n);\n\n\u002F\u002F Get resource handle (no data yet)\nvar orgResource = armClient.GetMongoDBAtlasOrganizationResource(resourceId);\n\n\u002F\u002F Fetch data when needed\nvar response = await orgResource.GetAsync();\n```\n\n## Common Errors\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `ResourceNotFound` | Organization doesn't exist | Verify name and resource group |\n| `AuthorizationFailed` | Insufficient permissions | Check RBAC roles on resource group |\n| `InvalidParameter` | Missing required properties | Ensure all required fields are set |\n| `MarketplaceError` | Marketplace subscription issue | Verify offer details and subscription |\n\n## Related Resources\n\n- [Microsoft Learn: MongoDB Atlas on Azure](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fpartner-solutions\u002Fmongodb-atlas\u002F)\n- [API Reference](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fdotnet\u002Fapi\u002Fazure.resourcemanager.mongodbatlas)\n- [Azure SDK for .NET](https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-for-net\u002Ftree\u002Fmain\u002Fsdk\u002Fmongodbatlas)\n","# Azure.ResourceManager.MongoDBAtlas SDK\n\nManage MongoDB Atlas Organizations as Azure ARM resources with unified billing through Azure Marketplace.\n\n## Package Information\n\n| Property | Value |\n|----------|-------|\n| Package | `Azure.ResourceManager.MongoDBAtlas` |\n| Version | 1.0.0 (GA) |\n| API Version | 2025-06-01 |\n| Resource Type | `MongoDB.Atlas\u002Forganizations` |\n| NuGet | [Azure.ResourceManager.MongoDBAtlas](https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FAzure.ResourceManager.MongoDBAtlas) |\n\n## Installation\n\n```bash\ndotnet add package Azure.ResourceManager.MongoDBAtlas\ndotnet add package Azure.Identity\ndotnet add package Azure.ResourceManager\n```\n\n## Important Scope Limitation\n\nThis SDK manages **MongoDB Atlas Organizations as Azure ARM resources** for marketplace integration. It does NOT directly manage:\n- Atlas clusters\n- Databases\n- Collections\n- Users\u002Froles\n\nFor cluster management, use the MongoDB Atlas API directly after creating the organization.\n\n## Environment Variables\n\n```bash\nAZURE_SUBSCRIPTION_ID=\u003Cyour-subscription-id> # Required: Azure subscription ID\nAZURE_RESOURCE_GROUP=\u003Cyour-resource-group> # Required: Azure resource group name\nAZURE_TOKEN_CREDENTIALS=prod  # Required only if DefaultAzureCredential is used in production\nAZURE_TENANT_ID=\u003Cyour-tenant-id> # For service principal auth (optional)\nAZURE_CLIENT_ID=\u003Cyour-client-id> # For service principal auth (optional)\nAZURE_CLIENT_SECRET=\u003Cyour-client-secret> # For service principal auth (optional)\n```\n\n## Authentication\n\n```csharp\nusing Azure.Identity;\nusing Azure.ResourceManager;\nusing Azure.ResourceManager.MongoDBAtlas;\nusing Azure.ResourceManager.MongoDBAtlas.Models;\n\n\u002F\u002F Local dev: DefaultAzureCredential. Production: set AZURE_TOKEN_CREDENTIALS=prod or AZURE_TOKEN_CREDENTIALS=\u003Cspecific_credential>\nvar credential = new DefaultAzureCredential(\n    DefaultAzureCredential.DefaultEnvironmentVariableName\n);\n\u002F\u002F Or use a specific credential directly in production:\n\u002F\u002F See https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Foverview\u002Fazure\u002Fidentity-readme?view=azure-dotnet#credential-classes\n\u002F\u002F var credential = new ManagedIdentityCredential();\nvar armClient = new ArmClient(credential);\n```\n\n## Core Types\n\n| Type | Purpose |\n|------|---------|\n| `MongoDBAtlasOrganizationResource` | ARM resource representing an Atlas organization |\n| `MongoDBAtlasOrganizationCollection` | Collection of organizations in a resource group |\n| `MongoDBAtlasOrganizationData` | Data model for organization resource |\n| `MongoDBAtlasOrganizationProperties` | Organization-specific properties |\n| `MongoDBAtlasMarketplaceDetails` | Azure Marketplace subscription details |\n| `MongoDBAtlasOfferDetails` | Marketplace offer configuration |\n| `MongoDBAtlasUserDetails` | User information for the organization |\n| `MongoDBAtlasPartnerProperties` | MongoDB-specific properties (org name, ID) |\n\n## Workflows\n\n### Get Organization Collection\n\n```csharp\n\u002F\u002F Get resource group\nvar subscription = await armClient.GetDefaultSubscriptionAsync();\nvar resourceGroup = await subscription.GetResourceGroupAsync(\"my-resource-group\");\n\n\u002F\u002F Get organizations collection\nMongoDBAtlasOrganizationCollection organizations = \n    resourceGroup.Value.GetMongoDBAtlasOrganizations();\n```\n\n### Create Organization\n\n```csharp\nvar organizationName = \"my-atlas-org\";\nvar location = AzureLocation.EastUS2;\n\n\u002F\u002F Build organization data\nvar organizationData = new MongoDBAtlasOrganizationData(location)\n{\n    Properties = new MongoDBAtlasOrganizationProperties(\n        marketplace: new MongoDBAtlasMarketplaceDetails(\n            subscriptionId: \"your-azure-subscription-id\",\n            offerDetails: new MongoDBAtlasOfferDetails(\n                publisherId: \"mongodb\",\n                offerId: \"mongodb_atlas_azure_native_prod\",\n                planId: \"private_plan\",\n                planName: \"Pay as You Go (Free) (Private)\",\n                termUnit: \"P1M\",\n                termId: \"gmz7xq9ge3py\"\n            )\n        ),\n        user: new MongoDBAtlasUserDetails(\n            emailAddress: \"admin@example.com\",\n            upn: \"admin@example.com\"\n        )\n        {\n            FirstName = \"Admin\",\n            LastName = \"User\"\n        }\n    )\n    {\n        PartnerProperties = new MongoDBAtlasPartnerProperties\n        {\n            OrganizationName = organizationName\n        }\n    },\n    Tags = { [\"Environment\"] = \"Production\" }\n};\n\n\u002F\u002F Create the organization (long-running operation)\nvar operation = await organizations.CreateOrUpdateAsync(\n    WaitUntil.Completed,\n    organizationName,\n    organizationData\n);\n\nMongoDBAtlasOrganizationResource organization = operation.Value;\nConsole.WriteLine($\"Created: {organization.Id}\");\n```\n\n### Get Existing Organization\n\n```csharp\n\u002F\u002F Option 1: From collection\nMongoDBAtlasOrganizationResource org = \n    await organizations.GetAsync(\"my-atlas-org\");\n\n\u002F\u002F Option 2: From resource identifier\nvar resourceId = MongoDBAtlasOrganizationResource.CreateResourceIdentifier(\n    subscriptionId: \"subscription-id\",\n    resourceGroupName: \"my-resource-group\",\n    organizationName: \"my-atlas-org\"\n);\nMongoDBAtlasOrganizationResource org2 = \n    armClient.GetMongoDBAtlasOrganizationResource(resourceId);\nawait org2.GetAsync(); \u002F\u002F Fetch data\n```\n\n### List Organizations\n\n```csharp\n\u002F\u002F List in resource group\nawait foreach (var org in organizations.GetAllAsync())\n{\n    Console.WriteLine($\"Org: {org.Data.Name}\");\n    Console.WriteLine($\"  Location: {org.Data.Location}\");\n    Console.WriteLine($\"  State: {org.Data.Properties?.ProvisioningState}\");\n}\n\n\u002F\u002F List across subscription\nawait foreach (var org in subscription.GetMongoDBAtlasOrganizationsAsync())\n{\n    Console.WriteLine($\"Org: {org.Data.Name} in {org.Data.Id}\");\n}\n```\n\n### Update Tags\n\n```csharp\n\u002F\u002F Add a single tag\nawait organization.AddTagAsync(\"CostCenter\", \"12345\");\n\n\u002F\u002F Replace all tags\nawait organization.SetTagsAsync(new Dictionary\u003Cstring, string>\n{\n    [\"Environment\"] = \"Production\",\n    [\"Team\"] = \"Platform\"\n});\n\n\u002F\u002F Remove a tag\nawait organization.RemoveTagAsync(\"OldTag\");\n```\n\n### Update Organization Properties\n\n```csharp\nvar patch = new MongoDBAtlasOrganizationPatch\n{\n    Tags = { [\"UpdatedAt\"] = DateTime.UtcNow.ToString(\"o\") },\n    Properties = new MongoDBAtlasOrganizationUpdateProperties\n    {\n        \u002F\u002F Update user details if needed\n        User = new MongoDBAtlasUserDetails(\n            emailAddress: \"newadmin@example.com\",\n            upn: \"newadmin@example.com\"\n        )\n    }\n};\n\nvar updateOperation = await organization.UpdateAsync(\n    WaitUntil.Completed,\n    patch\n);\n```\n\n### Delete Organization\n\n```csharp\n\u002F\u002F Delete (long-running operation)\nawait organization.DeleteAsync(WaitUntil.Completed);\n```\n\n## Model Properties Reference\n\n### MongoDBAtlasOrganizationProperties\n\n| Property | Type | Description |\n|----------|------|-------------|\n| `Marketplace` | `MongoDBAtlasMarketplaceDetails` | Required. Marketplace subscription details |\n| `User` | `MongoDBAtlasUserDetails` | Required. Organization admin user |\n| `PartnerProperties` | `MongoDBAtlasPartnerProperties` | MongoDB-specific properties |\n| `ProvisioningState` | `MongoDBAtlasResourceProvisioningState` | Read-only. Current provisioning state |\n\n### MongoDBAtlasMarketplaceDetails\n\n| Property | Type | Description |\n|----------|------|-------------|\n| `SubscriptionId` | `string` | Required. Azure subscription ID for billing |\n| `OfferDetails` | `MongoDBAtlasOfferDetails` | Required. Marketplace offer configuration |\n| `SubscriptionStatus` | `MarketplaceSubscriptionStatus` | Read-only. Subscription status |\n\n### MongoDBAtlasOfferDetails\n\n| Property | Type | Description |\n|----------|------|-------------|\n| `PublisherId` | `string` | Required. Publisher ID (typically \"mongodb\") |\n| `OfferId` | `string` | Required. Offer ID |\n| `PlanId` | `string` | Required. Plan ID |\n| `PlanName` | `string` | Required. Display name of the plan |\n| `TermUnit` | `string` | Required. Billing term unit (e.g., \"P1M\") |\n| `TermId` | `string` | Required. Term identifier |\n\n### MongoDBAtlasUserDetails\n\n| Property | Type | Description |\n|----------|------|-------------|\n| `EmailAddress` | `string` | Required. User email address |\n| `Upn` | `string` | Required. User principal name |\n| `FirstName` | `string` | Optional. User first name |\n| `LastName` | `string` | Optional. User last name |\n\n### MongoDBAtlasPartnerProperties\n\n| Property | Type | Description |\n|----------|------|-------------|\n| `OrganizationName` | `string` | Name of the MongoDB Atlas organization |\n| `OrganizationId` | `string` | Read-only. MongoDB Atlas organization ID |\n\n## Provisioning States\n\n| State | Description |\n|-------|-------------|\n| `Succeeded` | Resource provisioned successfully |\n| `Failed` | Provisioning failed |\n| `Canceled` | Provisioning was canceled |\n| `Provisioning` | Resource is being provisioned |\n| `Updating` | Resource is being updated |\n| `Deleting` | Resource is being deleted |\n| `Accepted` | Request accepted, provisioning starting |\n\n## Marketplace Subscription Status\n\n| Status | Description |\n|--------|-------------|\n| `PendingFulfillmentStart` | Subscription pending activation |\n| `Subscribed` | Active subscription |\n| `Suspended` | Subscription suspended |\n| `Unsubscribed` | Subscription canceled |\n\n## Best Practices\n\n### Use Async Methods\n\n```csharp\n\u002F\u002F Prefer async for all operations\nvar org = await organizations.GetAsync(\"my-org\");\nawait org.Value.AddTagAsync(\"key\", \"value\");\n```\n\n### Handle Long-Running Operations\n\n```csharp\n\u002F\u002F Wait for completion\nvar operation = await organizations.CreateOrUpdateAsync(\n    WaitUntil.Completed,  \u002F\u002F Blocks until done\n    name,\n    data\n);\n\n\u002F\u002F Or start and poll later\nvar operation = await organizations.CreateOrUpdateAsync(\n    WaitUntil.Started,  \u002F\u002F Returns immediately\n    name,\n    data\n);\n\n\u002F\u002F Poll for completion\nwhile (!operation.HasCompleted)\n{\n    await Task.Delay(TimeSpan.FromSeconds(5));\n    await operation.UpdateStatusAsync();\n}\n```\n\n### Check Provisioning State\n\n```csharp\nvar org = await organizations.GetAsync(\"my-org\");\nif (org.Value.Data.Properties?.ProvisioningState == \n    MongoDBAtlasResourceProvisioningState.Succeeded)\n{\n    Console.WriteLine(\"Organization is ready\");\n}\n```\n\n### Use Resource Identifiers\n\n```csharp\n\u002F\u002F Create identifier without API call\nvar resourceId = MongoDBAtlasOrganizationResource.CreateResourceIdentifier(\n    subscriptionId,\n    resourceGroupName,\n    organizationName\n);\n\n\u002F\u002F Get resource handle (no data yet)\nvar orgResource = armClient.GetMongoDBAtlasOrganizationResource(resourceId);\n\n\u002F\u002F Fetch data when needed\nvar response = await orgResource.GetAsync();\n```\n\n## Common Errors\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `ResourceNotFound` | Organization doesn't exist | Verify name and resource group |\n| `AuthorizationFailed` | Insufficient permissions | Check RBAC roles on resource group |\n| `InvalidParameter` | Missing required properties | Ensure all required fields are set |\n| `MarketplaceError` | Marketplace subscription issue | Verify offer details and subscription |\n\n## Related Resources\n\n- [Microsoft Learn: MongoDB Atlas on Azure](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fpartner-solutions\u002Fmongodb-atlas\u002F)\n- [API Reference](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fdotnet\u002Fapi\u002Fazure.resourcemanager.mongodbatlas)\n- [Azure SDK for .NET](https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-for-net\u002Ftree\u002Fmain\u002Fsdk\u002Fmongodbatlas)\n",{"name":5,"license":15,"metadata":43,"description":7},{"author":12,"package":44,"version":45},"Azure.ResourceManager.MongoDBAtlas","1.0.0","main","3f5b461b2314e01c400564051e92469114c5b68f",".github\u002Fplugins\u002Fazure-sdk-dotnet\u002Fskills\u002Fazure-mgmt-mongodbatlas-dotnet",368,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","https:\u002F\u002Fmicrosoft.github.io\u002Fskills\u002F","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-14 02:08:41",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add microsoft\u002Fskills --skill azure-mgmt-mongodbatlas-dotnet",{"tool":62,"command":63},"bunx","bunx skills add microsoft\u002Fskills --skill azure-mgmt-mongodbatlas-dotnet",{"tool":65,"command":66},"pnpm","pnpm dlx skills add microsoft\u002Fskills --skill azure-mgmt-mongodbatlas-dotnet","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fazure-sdk-dotnet\u002Fskills\u002Fazure-mgmt-mongodbatlas-dotnet\u002FSKILL.md",true,[],[71,98,136,163,183,221],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":82,"publishedAt":38},"01M69B4JCRQV5SPXAFCKXQRV0H","skill-creator","Guide for creating effective skills for AI coding agents working with Azure SDKs and Microsoft Foundry services. Use when creating new skills or updating existing skills.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fskill-creator\u002FSKILL.md",[77],{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[83,84,85,9,86,87,88,20,89,90,91,33,92,93,94,95,96,25,97],"skill creator","creator","coding agents","foundry","microsoft foundry","ai coding agents","services","coding","guide","ai coding","with","sdks","for","Existing","new",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":114,"publishedAt":38},"01M69B4FD57V1MYKRWAJJECTZ7","podcast-generation","Generate AI-powered podcast-style audio narratives using Azure OpenAI's GPT Realtime Mini model via WebSocket. Use when building text-to-speech features, audio narrative generation, podcast creation from content, or integrating with Azure OpenAI Realtime API for real audio output. Covers full-stack implementation from React frontend to Python FastAPI backend with WebSocket streaming.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fpodcast-generation\u002FSKILL.md",[104,107,110,113],{"categoryNo":105,"categoryName":106,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":108,"categoryName":109,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":111,"categoryName":112,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},[115,116,117,118,119,120,121,20,122,123,124,125,126,127,128,129,130,131,132,133,134,25,135],"podcast generation","podcast","generation","frontend","python","react","realtime","azure openai","generate","streaming","api","Audio","stack","text","model","fastapi","creation","python fastapi","narrative","features","fastapi backend",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":143,"publishedAt":38},"01M69B4CYPM5SESY5ZWEFDXEQZ","microsoft-docs","Understand Microsoft technologies by querying official documentation. Use whenever the user asks how something works, wants tutorials, needs configuration options, limits, quotas, or best practices for any Microsoft technology (Azure, .NET, M365, Windows, Power Platform, etc.)—even if they don't mention \"docs.\" If the question is about understanding a concept rather than writing code, this is the right skill.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fmicrosoft-docs\u002FSKILL.md",[142],{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},[144,9,145,146,147,148,149,150,151,152,153,20,154,155,156,33,157,59,158,159,160,161,162,95],"docs","microsoft docs","MCP","writing","cli","mcp server","windows","power platform","official","documentation","learn","best practices","question","power","back","technology","platform","learn mcp","concept",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":170,"publishedAt":38},"01M69B49C3YPD1ZJ3NC0HPCY58","mcp-builder","Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP), Node\u002FTypeScript (MCP SDK), or C#\u002F.NET (Microsoft MCP SDK).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fmcp-builder\u002FSKILL.md",[169],{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},[146,171,172,173,119,174,32,175,9,176,177,129,178,179,91,33,180,181,182,93,95,25],"mcp builder","builder","typescript","llms","model context protocol","fastmcp","Tools","node","context","integrate","mcp sdk","building mcp servers",{"skillNo":184,"name":185,"nameZh":6,"description":186,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":187,"categories":188,"keywords":201,"publishedAt":38},"01M69B467A7CDMFQ0T6Q0ZA12Q","kql","KQL language expertise for writing correct, efficient Kusto Query Language queries. Covers syntax gotchas, join patterns, dynamic types, datetime pitfalls, regex patterns, serialization, memory management, result-size discipline, and advanced functions (geo, vector, graph). USE THIS SKILL whenever writing, debugging, or reviewing KQL queries — even simple ones — because the gotchas section prevents the most common errors that waste tool calls and cause expensive retry cascades. Trigger on: KQL, Kusto, ADX, Azure Data Explorer, Fabric Real-Time Intelligence, EventHouse, Log Analytics, log analysis, data exploration, time series, anomaly detection, summarize, where clause, join, extend, project, let statement, parse operator, extract function, any mention of pipe-forward query syntax.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fkql\u002FSKILL.md",[189,192,193,198],{"categoryNo":190,"categoryName":191,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},{"categoryNo":194,"categoryName":195,"taxonomyType":196,"taxonomyTypeDesc":197},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",{"categoryNo":199,"categoryName":200,"taxonomyType":196,"taxonomyTypeDesc":197},"01JBSEEDCAT000000000000036","内容创作者",[185,147,202,203,204,20,205,206,207,208,209,210,211,212,213,214,215,216,217,95,218,219,220],"summarize","memory","analytics","vector","time series","tool","discipline","log","geo","exploration","pipe","time","project","regex","join","datetime","section","anomaly","parse",{"skillNo":222,"name":223,"nameZh":6,"description":224,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":225,"categories":226,"keywords":227,"publishedAt":38},"01M69B44HJQ7897EZ7NE7DWQX3","github-issue-creator","Convert raw notes, error logs, voice dictation, or screenshots into crisp GitHub-flavored markdown issue reports. Use when the user pastes bug info, error messages, or informal descriptions and wants a structured GitHub issue. Supports images\u002FGIFs for visual evidence.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fgithub-issue-creator\u002FSKILL.md",[],[228,229,230,231,84,232,233,234,235,236,237,238,33,239,240,241,242,243,244,95,25],"github","github issue creator","github issue","issue","issue creator","screenshots","notes","logs","error messages","messages","convert","evidence","reports","images","info","visual","error"]