SKILLS/azure-mgmt-arizeaiobservabilityeval-dotnet/SKILL.md
Azure Resource Manager SDK for Arize AI Observability and Evaluation (.NET).
npx skillsauth add pinkpixel-dev/skills-collection-1 azure-mgmt-arizeaiobservabilityeval-dotnetInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
.NET SDK for managing Arize AI Observability and Evaluation resources on Azure.
dotnet add package Azure.ResourceManager.ArizeAIObservabilityEval --version 1.0.0
| Property | Value |
|----------|-------|
| Package | Azure.ResourceManager.ArizeAIObservabilityEval |
| Version | 1.0.0 (GA) |
| API Version | 2024-10-01 |
| ARM Type | ArizeAi.ObservabilityEval/organizations |
| Dependencies | Azure.Core >= 1.46.2, Azure.ResourceManager >= 1.13.1 |
AZURE_SUBSCRIPTION_ID=<your-subscription-id>
AZURE_TENANT_ID=<your-tenant-id>
AZURE_CLIENT_ID=<your-client-id>
AZURE_CLIENT_SECRET=<your-client-secret>
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.ArizeAIObservabilityEval;
// Always use DefaultAzureCredential
var credential = new DefaultAzureCredential();
var armClient = new ArmClient(credential);
using Azure.Core;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.ArizeAIObservabilityEval;
using Azure.ResourceManager.ArizeAIObservabilityEval.Models;
// Get subscription and resource group
var subscriptionId = Environment.GetEnvironmentVariable("AZURE_SUBSCRIPTION_ID");
var subscription = await armClient.GetSubscriptionResource(
SubscriptionResource.CreateResourceIdentifier(subscriptionId)).GetAsync();
var resourceGroup = await subscription.Value.GetResourceGroupAsync("my-resource-group");
// Get the organization collection
var collection = resourceGroup.Value.GetArizeAIObservabilityEvalOrganizations();
// Create organization data
var data = new ArizeAIObservabilityEvalOrganizationData(AzureLocation.EastUS)
{
Properties = new ArizeAIObservabilityEvalOrganizationProperties
{
Marketplace = new ArizeAIObservabilityEvalMarketplaceDetails
{
SubscriptionId = "marketplace-subscription-id",
OfferDetails = new ArizeAIObservabilityEvalOfferDetails
{
PublisherId = "arikimlabs1649082416596",
OfferId = "arize-liftr-1",
PlanId = "arize-liftr-1-plan",
PlanName = "Arize AI Plan",
TermUnit = "P1M",
TermId = "term-id"
}
},
User = new ArizeAIObservabilityEvalUserDetails
{
FirstName = "John",
LastName = "Doe",
EmailAddress = "[email protected]"
}
},
Tags = { ["environment"] = "production" }
};
// Create (long-running operation)
var operation = await collection.CreateOrUpdateAsync(
WaitUntil.Completed,
"my-arize-org",
data);
var organization = operation.Value;
Console.WriteLine($"Created: {organization.Data.Name}");
// Option 1: From collection
var org = await collection.GetAsync("my-arize-org");
// Option 2: Check if exists first
var exists = await collection.ExistsAsync("my-arize-org");
if (exists.Value)
{
var org = await collection.GetAsync("my-arize-org");
}
// Option 3: GetIfExists (returns null if not found)
var response = await collection.GetIfExistsAsync("my-arize-org");
if (response.HasValue)
{
var org = response.Value;
}
// List in resource group
await foreach (var org in collection.GetAllAsync())
{
Console.WriteLine($"Org: {org.Data.Name}, State: {org.Data.Properties?.ProvisioningState}");
}
// List in subscription
await foreach (var org in subscription.Value.GetArizeAIObservabilityEvalOrganizationsAsync())
{
Console.WriteLine($"Org: {org.Data.Name}");
}
// Update tags
var org = await collection.GetAsync("my-arize-org");
var updateData = new ArizeAIObservabilityEvalOrganizationPatch
{
Tags = { ["environment"] = "staging", ["team"] = "ml-ops" }
};
var updated = await org.Value.UpdateAsync(updateData);
var org = await collection.GetAsync("my-arize-org");
await org.Value.DeleteAsync(WaitUntil.Completed);
| Type | Purpose |
|------|---------|
| ArizeAIObservabilityEvalOrganizationResource | Main ARM resource for Arize organizations |
| ArizeAIObservabilityEvalOrganizationCollection | Collection for CRUD operations |
| ArizeAIObservabilityEvalOrganizationData | Resource data model |
| ArizeAIObservabilityEvalOrganizationProperties | Organization properties |
| ArizeAIObservabilityEvalMarketplaceDetails | Azure Marketplace subscription info |
| ArizeAIObservabilityEvalOfferDetails | Marketplace offer configuration |
| ArizeAIObservabilityEvalUserDetails | User contact information |
| ArizeAIObservabilityEvalOrganizationPatch | Patch model for updates |
| ArizeAIObservabilityEvalSingleSignOnPropertiesV2 | SSO configuration |
| Enum | Values |
|------|--------|
| ArizeAIObservabilityEvalOfferProvisioningState | Succeeded, Failed, Canceled, Provisioning, Updating, Deleting, Accepted |
| ArizeAIObservabilityEvalMarketplaceSubscriptionStatus | PendingFulfillmentStart, Subscribed, Suspended, Unsubscribed |
| ArizeAIObservabilityEvalSingleSignOnState | Initial, Enable, Disable |
| ArizeAIObservabilityEvalSingleSignOnType | Saml, OpenId |
WaitUntil.Completed or poll manuallyArmClientOptionsusing statements or dispose explicitlytry
{
var org = await collection.GetAsync("my-arize-org");
}
catch (Azure.RequestFailedException ex) when (ex.Status == 404)
{
Console.WriteLine("Organization not found");
}
catch (Azure.RequestFailedException ex)
{
Console.WriteLine($"Azure error: {ex.Message}");
}
// Access resource directly by ID (without listing)
var resourceId = ArizeAIObservabilityEvalOrganizationResource.CreateResourceIdentifier(
subscriptionId,
"my-resource-group",
"my-arize-org");
var org = armClient.GetArizeAIObservabilityEvalOrganizationResource(resourceId);
var data = await org.GetAsync();
This skill is applicable to execute the workflow or actions described in the overview.
development
Build a systematic threat hunt hypothesis framework that transforms threat intelligence, attack patterns, and environmental data into testable hunting hypotheses.
development
Deploy MISP (Malware Information Sharing Platform) to aggregate, correlate, and distribute threat intelligence feeds from multiple sources for centralized IOC management and automated SIEM integration.
development
Build comprehensive threat actor profiles using open-source intelligence (OSINT) techniques to document adversary motivations, capabilities, infrastructure, and TTPs for proactive defense.
development
Builds a structured SOC incident response playbook for ransomware attacks covering detection, containment, eradication, and recovery phases with specific SIEM queries, isolation procedures, and decision trees. Use when SOC teams need formalized response procedures for ransomware incidents aligned to NIST SP 800-61 and MITRE ATT&CK ransomware techniques.