{"id":27974314,"url":"https://github.com/carloslanderas/azure-app-configuration","last_synced_at":"2025-05-08T00:13:57.327Z","repository":{"id":35119406,"uuid":"207326891","full_name":"CarlosLanderas/azure-app-configuration","owner":"CarlosLanderas","description":"Azure App Configuration Rust client","archived":false,"fork":false,"pushed_at":"2023-06-16T08:49:52.000Z","size":111,"stargazers_count":2,"open_issues_count":8,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-08T00:13:44.740Z","etag":null,"topics":["api-wrapper","app-configuration","azure","cloud","configuration","keys","keyvalues","labels","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CarlosLanderas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-09-09T14:19:01.000Z","updated_at":"2020-02-22T08:26:13.000Z","dependencies_parsed_at":"2022-09-15T23:40:54.591Z","dependency_job_id":null,"html_url":"https://github.com/CarlosLanderas/azure-app-configuration","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CarlosLanderas%2Fazure-app-configuration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CarlosLanderas%2Fazure-app-configuration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CarlosLanderas%2Fazure-app-configuration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CarlosLanderas%2Fazure-app-configuration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CarlosLanderas","download_url":"https://codeload.github.com/CarlosLanderas/azure-app-configuration/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252973674,"owners_count":21834108,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-wrapper","app-configuration","azure","cloud","configuration","keys","keyvalues","labels","rust"],"created_at":"2025-05-08T00:13:54.636Z","updated_at":"2025-05-08T00:13:57.306Z","avatar_url":"https://github.com/CarlosLanderas.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Azure App Configuration client for Rust\n\n[![Build Status](https://travis-ci.org/CarlosLanderas/azure-app-configuration.svg?branch=master)](https://travis-ci.org/CarlosLanderas/azure-app-configuration)\n[![License](https://img.shields.io/badge/license-MIT%2FApache--2.0-blue.svg)](https://github.com/CarlosLanderas/azure-app-configuration)\n[![Cargo](https://img.shields.io/crates/v/azure-app-configuration.svg)](https://crates.io/crates/azure-app-configuration)\n[![Documentation](https://docs.rs/azure-app-configuration/badge.svg)](https://docs.rs/azure-app-configuration)\n\nWith **azure-app-configuration** you can easily work with your Azure App Configuration service centralized configurations.\n\nLatest version supports:\n\n- List keys\n- List labels\n- List key values\n- Get key value\n- Set key value (with label, tags and content type)\n- Remove key value\n\n## Running samples\n\nYou can find some sample code snippets here: **[examples](https://github.com/CarlosLanderas/azure-app-configuration/tree/master/examples)**.\n\nJust replace the configuration with your Azure configuration endpoint, your access_key and secret and execute them by using:\n\n`cargo run --example list-key-values`\n\n`cargo run --example get_key_value`\n\n`cargo run --example set_key_value`\n\nYou can see all available targets in **[Cargo.toml](https://github.com/CarlosLanderas/azure-app-configuration/blob/master/Cargo.toml#L25-L42)** file\n\n## Code samples\n\n### Create an AzureAppConfiguration client\n\nTo create an Azure App Configuration client just use ::new method and provide the endpoint url, the access key and the secret:\n\n```rust\nuse azure_app_configuration::client::AzureAppConfigClient;\nlet app_config_client = AzureAppConfigClient::new(\n        \"https://endpoint.azconfig.io\",\n        \"0-l9-s0:Z6DMwn2DoiK2gVsTIm7h\",\n        \"wgf9BDWeh/+Dtq8Dmps3SUpwrdgYLrXG8svE+VyM06w=\",\n        );\n```\n\n### List keys\n\n```rust\n   //List all key values without a label (all key values);\n    let keys = app_config_client.list_keys().await.unwrap();\n    for k in keys.items {\n        println!(\"{:?}\", k);\n    }\n```\n\n### List labels\n\n```rust\n  let labels = app_config_client.list_labels().await.unwrap();\n  for l in labels.items {\n    println!(\"{:?}\", l);\n  }\n```\n\n### List Key Values\n\n```rust\n    let key_values = app_config_client.list_key_values(SearchLabel::All).await;\n    for k in key_values {\n        println!(\"{:?}\", k);\n    }\n```\n\n### Get Key value with label\n\nRetrieve value for key ConnectionString using label ContosoApp\n\n```rust\n   let kv = app_config_client\n            .get_key_value(\"ConnectionString\", SearchLabel::For(\"ContosoApp\"))\n            .await;\n   println!(\"{:?}\", kv);\n```\n\n### Get Key value without label\n\nRetrieve a label called ConnectionString with no label specified\n\n```rust\n   let kv = app_config_client\n            .get_key_value(\"ConnectionString\", SearchLabel::All)\n            .await;\n   println!(\"{:?}\", kv);\n```\n\n### Set key value\n\nDelete ConnectionString key for Application1 label\n\n```rust\n    let kv = app_config_client\n            .set_key(\n                \"ConnectionString\",\n                \"Server=dummy;user id=user;password=fakepass\",\n                SearchLabel::For(\"Application1\"),\n                None,\n                None,\n            )\n            .await;\n\n        println!(\"{:?}\", kv);\n```\n\n### Set key value with tags and content type\n\n```rust\n   let mut tags = HashMap::new();\n        tags.insert(\"tag1\", \"tagvalue1\");\n        tags.insert(\"tag2\", \"tagvalue2\");\n\n        let kv = app_config_client\n            .set_key(\n                \"UseCache\",\n                \"true\",\n                SearchLabel::For(\"PublicWebsite\"),\n                Some(tags),\n                Some(\"application/lande\"),\n            )\n            .await;\n\n        println!(\"{:?}\", kv);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarloslanderas%2Fazure-app-configuration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcarloslanderas%2Fazure-app-configuration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarloslanderas%2Fazure-app-configuration/lists"}