| Crates.io | rust_az_wrapper |
| lib.rs | rust_az_wrapper |
| version | 0.2.0 |
| created_at | 2025-06-02 19:04:29.902346+00 |
| updated_at | 2025-06-02 22:20:29.047913+00 |
| description | Type-safe Rust wrapper for Azure CLI focused on Cosmos DB operations |
| homepage | https://github.com/JohnGuih/rust_az_wrapper |
| repository | https://github.com/JohnGuih/rust_az_wrapper |
| max_upload_size | |
| id | 1698272 |
| size | 75,687 |
This library provides a safe, read-only interface to Azure Cosmos DB via the Azure CLI. It's designed for exploration, monitoring, and data discovery without the risk of accidental modifications.
az login)use rust_az_wrapper::AzureClient;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = AzureClient::new()?;
// Verify Azure CLI authentication
client.verify_authentication().await?;
// Explore your Cosmos DB accounts
let accounts = client.list_cosmos_accounts(None).await?;
for account in accounts {
println!("๐ Account: {} ({})", account.name, account.location);
// Get account details
let keys = client.list_cosmos_keys(&account.name, &account.resource_group).await?;
println!("๐ Has keys: Yes");
// List databases
let databases = client.list_sql_databases(&account.name, &account.resource_group).await?;
println!("๐ Databases: {}", databases.len());
for db in databases {
// List containers in each database
let containers = client.list_sql_containers(
&account.name,
&account.resource_group,
&db.name
).await?;
println!(" ๐ฆ {}: {} containers", db.name, containers.len());
}
}
Ok(())
}
list_subscriptions() - List all Azure subscriptionsshow_current_subscription() - Show current subscription detailslist_resource_groups() - List resource groupsshow_resource_group() - Show resource group detailslist_cosmos_accounts() - List all Cosmos DB accountsshow_cosmos_account() - Show account detailslist_cosmos_keys() - Get master keyslist_cosmos_read_only_keys() - Get read-only keyslist_cosmos_connection_strings() - Get connection stringslist_sql_databases() - List SQL databasesshow_sql_database() - Show database detailslist_sql_containers() - List containersshow_sql_container() - Show container detailsget_database_throughput() - Get database throughputget_container_throughput() - Get container throughputlist_mongodb_databases() - List MongoDB databaseslist_mongodb_collections() - List collectionssrc/
โโโ lib.rs # Main API and exports
โโโ client.rs # Unified Azure client
โโโ commands/
โ โโโ account.rs # Subscription/resource group operations
โ โโโ cosmos.rs # Cosmos DB operations
โโโ models.rs # Azure resource models
โโโ utils.rs # CLI utilities
โโโ error.rs # Error handling
This library is intentionally read-only. It provides no methods to:
This makes it perfect for:
๐ Discovery - Explore your Azure environment safely
๐ Monitoring - Build dashboards and reports
๐งพ Inventory - Catalog your Cosmos DB resources
๐ Integration - Feed data to other systems
Contributions are welcome!
MIT License - see LICENSE file for details