ansible-inventory-cloud 0.1.0

Ansible Inventory Cloud
Documentation
use serde::{de::DeserializeOwned, Deserialize, Serialize};

//
//
//
#[derive(Debug, Clone)]
pub enum Hostname<HAP, HQ>
where
    HAP: HostnameAxumPath,
    HQ: HostnameQuery,
{
    AxumPath(HAP),
    Query(HQ),
}

#[derive(Debug, Clone, Copy)]
pub enum HostnameType {
    AxumPath,
    Query,
}

//
//
//
pub trait HostnameAxumPath: DeserializeOwned {}
impl<T> HostnameAxumPath for T where T: DeserializeOwned {}

//
//
//
pub trait HostnameQuery: DeserializeOwned {}
impl<T> HostnameQuery for T where T: DeserializeOwned {}

#[derive(Deserialize, Serialize, Debug, Clone)]
pub struct GenericHostnameQuery {
    pub name: String,
}