cloud_terrastodon_azure 0.34.0

Helpers for interacting with Azure for the Cloud Terrastodon project
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::prelude::fetch_all_security_groups;
use cloud_terrastodon_azure_types::prelude::EntraGroup;
use cloud_terrastodon_user_input::Choice;
use itertools::Itertools;

pub async fn get_security_group_choices() -> eyre::Result<Vec<Choice<EntraGroup>>> {
    let security_groups = fetch_all_security_groups().await?;
    let choices = security_groups
        .into_iter()
        .sorted_by(|x, y| x.display_name.cmp(&y.display_name))
        .map(|u| Choice {
            key: format!("{} {}", u.id, u.display_name),
            value: u,
        })
        .collect_vec();
    Ok(choices)
}