vfa_tui/models/
provider.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
9#[serde(rename_all = "kebab-case")]
10pub enum Provider {
11 Aws,
13 Azure,
14 Oracle,
15 Oci,
16 Gcp,
17 Alibaba,
18 Huawei,
19 Ovhcloud,
20 Ionos,
21 Scaleway,
22 Hetzner,
23 Contabo,
24 Kubernetes,
25 Terraform,
26 MultiCloud,
27 Generic,
28 Frontend,
29 Dotnet,
30 Hr,
31 Legal,
32 Salesforce,
33 Accounting,
35 Finance,
36 Netsuite,
37 Sap,
38 Argocd,
39 Backstage,
40 CertManager,
41 Cilium,
42 Claude,
43 Databricks,
44 Falco,
45 Fluxcd,
46 Istio,
47 Kyverno,
48 Marketing,
49 Microsoft,
50 Nvidia,
51 Opentelemetry,
52 Prometheus,
53 Sigstore,
54 Snowflake,
55 Velero,
56}
57
58impl std::fmt::Display for Provider {
59 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
60 let s = serde_json::to_value(self)
61 .ok()
62 .and_then(|v| v.as_str().map(|s| s.to_string()))
63 .unwrap_or_else(|| format!("{:?}", self).to_lowercase());
64 write!(f, "{}", s)
65 }
66}