[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CS5PAGTJSW1D0YBAFNPSJ0":3,"skill-same:01M6CS5PAGTJSW1D0YBAFNPSJ0":56},{"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":27,"linkOnly":28,"markdownContent":29,"markdownBody":30,"frontMatter":31,"refName":34,"commitSha":35,"skillDirectory":36,"forksCount":37,"repositoryHtmlUrl":38,"repositoryHomepageUrl":38,"ownerHtmlUrl":39,"ownerBlogUrl":6,"ownerDescription":40,"updatedAt":41,"install":42,"resources":55},"01M6CS5PAGTJSW1D0YBAFNPSJ0","azure-mgmt-mongodbatlas-dotnet",null,"Manage MongoDB Atlas Organizations as Azure ARM resources with unified billing through Azure Marketplace.","Sam-06060\u002Fjarvis-assistant","Sam-06060","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F208600848?v=4","01M6CRKT7C7FXD21V6HXF293S0","Samson Frank Ganta","01M6CRKTBEKYFD8YX5Z1GT99EE",6,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fazure-mgmt-mongodbatlas-dotnet\u002FSKILL.md",[],[19,20,21,22,23,24,25,26],"dotnet","azure","azure mgmt mongodbatlas dotnet","marketplace","mongodb","atlas","manage","community","2026-11-10 10:12:30",false,"---\nname: azure-mgmt-mongodbatlas-dotnet\ndescription: \"Manage MongoDB Atlas Organizations as Azure ARM resources with unified billing through Azure Marketplace.\"\nrisk: unknown\nsource: community\ndate_added: \"2026-02-27\"\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## Authentication\n\n```csharp\nusing Azure.Identity;\nusing Azure.ResourceManager;\nusing Azure.ResourceManager.MongoDBAtlas;\nusing Azure.ResourceManager.MongoDBAtlas.Models;\n\n\u002F\u002F Create ARM client with DefaultAzureCredential\nvar credential = new DefaultAzureCredential();\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\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\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## Authentication\n\n```csharp\nusing Azure.Identity;\nusing Azure.ResourceManager;\nusing Azure.ResourceManager.MongoDBAtlas;\nusing Azure.ResourceManager.MongoDBAtlas.Models;\n\n\u002F\u002F Create ARM client with DefaultAzureCredential\nvar credential = new DefaultAzureCredential();\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\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n",{"name":5,"risk":32,"source":26,"date_added":33,"description":7},"unknown","2026-02-27","main","a50a3aa6b39fb0e1b7db88bef1bfc9c93606e126","modules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fazure-mgmt-mongodbatlas-dotnet",0,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant","https:\u002F\u002Fgithub.com\u002FSam-06060","Mobile Application Developer | Kotlin | Flutter, KMP, Swfit, Android,Swift UI | Building at Saar It Resources | Creator of Jarvis (AI Assistant)","2026-06-23 05:13:38",{"source":8,"skillName":5,"commands":43,"prompt":53,"zipAvailable":54},[44,47,50],{"tool":45,"command":46},"npx","npx skills add Sam-06060\u002Fjarvis-assistant --skill azure-mgmt-mongodbatlas-dotnet",{"tool":48,"command":49},"bunx","bunx skills add Sam-06060\u002Fjarvis-assistant --skill azure-mgmt-mongodbatlas-dotnet",{"tool":51,"command":52},"pnpm","pnpm dlx skills add Sam-06060\u002Fjarvis-assistant --skill azure-mgmt-mongodbatlas-dotnet","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fazure-mgmt-mongodbatlas-dotnet\u002FSKILL.md",true,[],[57,70,86,113,131,158],{"skillNo":58,"name":59,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":60,"categories":61,"keywords":67,"publishedAt":27},"01M6GDRVS6FXX3ESH0C9DW01C0","test_skill","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fscratch\u002Ftest_skill\u002FSKILL.md",[62],{"categoryNo":63,"categoryName":64,"taxonomyType":65,"taxonomyTypeDesc":66},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[68,69],"Test Skill","test",{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":27},"01M6GDRQ40HX22MA6XWC31RHHK","zustand-store-ts","Create Zustand stores following established patterns with proper TypeScript types and middleware.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzustand-store-ts\u002FSKILL.md",[],[77,78,79,80,81,82,83,26,84,85],"zustand store ts","zustand","store","with","types","middleware","patterns","create","typescript",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":95,"publishedAt":27},"01M6GDRKEA0WE670SPFWX5GKCN","zoom-automation","Automate Zoom meeting creation, management, recordings, webinars, and participant tracking via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzoom-automation\u002FSKILL.md",[92],{"categoryNo":93,"categoryName":94,"taxonomyType":65,"taxonomyTypeDesc":66},"01JBSEEDCAT000000000000023","Skill与智能体开发",[96,97,98,99,100,101,102,103,104,105,106,107,108,109,26,110,111,112],"automation","zoom automation","zoom","first","Tools","search","MCP","via","meeting","automate","critical","creation","webinars","composio","recordings","management","tracking",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":120,"publishedAt":27},"01M6GDRFS1452PC71JQ38S24HR","zoho-crm-automation","Automate Zoho CRM tasks via Rube MCP (Composio): create\u002Fupdate records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzoho-crm-automation\u002FSKILL.md",[119],{"categoryNo":93,"categoryName":94,"taxonomyType":65,"taxonomyTypeDesc":66},[121,96,122,123,124,125,126,26,101,127,109,128,106,105,100,129,84,130,102,25],"crm automation","zoho crm","crm","zoho crm automation","zoho","leads","contacts","records","update","tasks",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":140,"publishedAt":27},"01M6GDRCKQBAVTGHX5XBH26KPZ","zod-validation-expert","Expert in Zod — TypeScript-first schema validation. Covers parsing, custom errors, refinements, type inference, and integration with React Hook Form, Next.js, and tRPC.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzod-validation-expert\u002FSKILL.md",[137],{"categoryNo":138,"categoryName":139,"taxonomyType":65,"taxonomyTypeDesc":66},"01JBSEEDCAT000000000000009","前端开发",[141,142,143,144,145,85,146,147,148,149,150,151,80,152,153,154,155,26,156,157],"expert","zod","zod validation expert","validation","react","safe","parsing","errors","schema validation","react hook form","hook","trpc","form","type","next","schema","Next.js",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":165,"publishedAt":27},"01M6GDR658B08K4MY0RWD4A6EH","zeroize-audit","Detects missing zeroization of sensitive data in source code and identifies zeroization removed by compiler optimizations, with assembly-level analysis, and control-flow verification. Use for auditing C\u002FC++\u002FRust code handling secrets, keys, passwords, or other sensitive data.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzeroize-audit\u002FSKILL.md",[164],{"categoryNo":93,"categoryName":94,"taxonomyType":65,"taxonomyTypeDesc":66},[166,167,168,169,170,171,172,173,26,174,175,176,177,178,179,180,181,182,183,102],"zeroize audit","audit","write","passwords","get","project","c++","activate","assembly","read","Bash","secrets","analysis","data","flow","verification","code","rust"]