Skip to main content
Like AOF? Give us a star!
If you find AOF useful, please star us on GitHub. It helps us reach more developers and grow the community.

Azure Tools

AOF provides 8 Azure tools covering compute, storage, containers, networking, and security.

Prerequisites

  • Azure CLI installed
  • Authenticated via az login
# Install Azure CLI
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

# Login
az login

# Set subscription
az account set --subscription "your-subscription-id"

Available Tools

ToolServiceDescription
azure_vmVirtual MachinesVM management
azure_storageStorageBlob and account operations
azure_aksAKSKubernetes service management
azure_networkNetworkingVNet, NSG, and IP management
azure_resourceResource ManagerResource group operations
azure_keyvaultKey VaultSecret management
azure_monitorMonitorMetrics and alerts
azure_acrContainer RegistryContainer image management

Tool Reference

azure_vm

Virtual Machine operations.

Parameters:

ParameterTypeRequiredDescription
commandstringYeslist, show, start, stop, restart, delete
namestringNoVM name
resource_groupstringNoResource group name
subscriptionstringNoSubscription ID
outputstringNoOutput format: json, table, tsv

Example:

tools:
- azure_vm

# "List all VMs in resource group production-rg"
# "Stop VM web-server-01"
# "Restart all VMs in staging-rg"

azure_storage

Storage account and blob operations.

Parameters:

ParameterTypeRequiredDescription
commandstringYesaccount-list, blob-list, blob-upload, blob-download
account_namestringNoStorage account name
container_namestringNoContainer name
blob_namestringNoBlob name
file_pathstringNoLocal file path
resource_groupstringNoResource group name
subscriptionstringNoSubscription ID
outputstringNoOutput format

Example:

tools:
- azure_storage

# "List all storage accounts"
# "List blobs in container 'backups' in account 'mystorageacct'"
# "Upload backup.tar.gz to container 'backups'"

azure_aks

Azure Kubernetes Service operations.

Parameters:

ParameterTypeRequiredDescription
commandstringYeslist, show, get-credentials, scale
namestringNoCluster name
resource_groupstringNoResource group name
node_countintegerNoNode count for scaling
nodepool_namestringNoNode pool name
subscriptionstringNoSubscription ID
outputstringNoOutput format

Example:

tools:
- azure_aks

# "List all AKS clusters"
# "Get credentials for cluster prod-aks in prod-rg"
# "Scale nodepool 'agentpool' to 5 nodes"

azure_network

Networking operations (VNet, NSG, Public IP).

Parameters:

ParameterTypeRequiredDescription
commandstringYesvnet-list, nsg-list, public-ip-list
resource_groupstringNoResource group name
subscriptionstringNoSubscription ID
outputstringNoOutput format

Example:

tools:
- azure_network

# "List all VNets in subscription"
# "List NSGs in resource group network-rg"
# "List all public IPs"

azure_resource

Resource Manager operations.

Parameters:

ParameterTypeRequiredDescription
commandstringYesgroup-list, group-show, resource-list
resource_groupstringNoResource group name
resource_typestringNoFilter by resource type
subscriptionstringNoSubscription ID
outputstringNoOutput format

Example:

tools:
- azure_resource

# "List all resource groups"
# "Show details of resource group production-rg"
# "List all resources in staging-rg"

azure_keyvault

Key Vault secret operations.

Parameters:

ParameterTypeRequiredDescription
commandstringYessecret-list, secret-show, secret-set
vault_namestringNoKey Vault name
secret_namestringNoSecret name
secret_valuestringNoSecret value (for set)
subscriptionstringNoSubscription ID
outputstringNoOutput format

Example:

tools:
- azure_keyvault

# "List secrets in vault 'prod-keyvault'"
# "Get secret 'db-password' from vault 'prod-keyvault'"

azure_monitor

Azure Monitor operations.

Parameters:

ParameterTypeRequiredDescription
commandstringYesmetrics-list, activity-log-list, alert-list
resource_idstringNoResource ID for metrics
resource_groupstringNoResource group name
start_timestringNoStart time (ISO 8601)
end_timestringNoEnd time (ISO 8601)
subscriptionstringNoSubscription ID
outputstringNoOutput format

Example:

tools:
- azure_monitor

# "List metrics for VM /subscriptions/.../virtualMachines/my-vm"
# "Get activity log for the last 24 hours"
# "List all alerts in resource group monitoring-rg"

azure_acr

Azure Container Registry operations.

Parameters:

ParameterTypeRequiredDescription
commandstringYeslist, show, repository-list
namestringNoRegistry name
resource_groupstringNoResource group name
subscriptionstringNoSubscription ID
outputstringNoOutput format

Example:

tools:
- azure_acr

# "List all container registries"
# "List repositories in registry 'myacr'"

Example Agent

apiVersion: aof.sh/v1alpha1
kind: Agent
metadata:
name: azure-ops
spec:
model: google:gemini-2.5-flash
tools:
- azure_vm
- azure_aks
- azure_storage
- azure_keyvault

environment:
AZURE_SUBSCRIPTION_ID: "${AZURE_SUBSCRIPTION_ID}"

system_prompt: |
You are an Azure cloud operations specialist.
Help manage VMs, AKS clusters, storage, and secrets.

## Guidelines
- Always specify resource group when required
- Confirm destructive operations before proceeding
- Use proper output format for data analysis

Common Patterns

Working with Resource Groups

# Most operations require resource group
"List VMs in resource group production-rg"
"Show AKS cluster in rg my-aks-rg"

Managing Subscriptions

environment:
AZURE_SUBSCRIPTION_ID: "xxx-xxx-xxx"

# Or specify per operation
"List VMs in subscription 'dev-subscription'"

Secret Management

# Never output secret values in logs
"Check if secret 'api-key' exists in vault 'prod-vault'"
# Instead of: "Get and display secret value"