Skip to main content

ansible_inventory_cloud/http/
hostname.rs

1use serde::{de::DeserializeOwned, Deserialize, Serialize};
2
3//
4//
5//
6#[derive(Debug, Clone)]
7pub enum Hostname<HAP, HQ>
8where
9    HAP: HostnameAxumPath,
10    HQ: HostnameQuery,
11{
12    AxumPath(HAP),
13    Query(HQ),
14}
15
16#[derive(Debug, Clone, Copy)]
17pub enum HostnameType {
18    AxumPath,
19    Query,
20}
21
22//
23//
24//
25pub trait HostnameAxumPath: DeserializeOwned {}
26impl<T> HostnameAxumPath for T where T: DeserializeOwned {}
27
28//
29//
30//
31pub trait HostnameQuery: DeserializeOwned {}
32impl<T> HostnameQuery for T where T: DeserializeOwned {}
33
34#[derive(Deserialize, Serialize, Debug, Clone)]
35pub struct GenericHostnameQuery {
36    pub name: String,
37}