k8s_openapi_codegen_common/swagger20/
paths.rs
1#[derive(Clone, Copy, Debug, Eq, PartialEq)]
3pub enum KubernetesAction {
4 Connect,
5 Delete,
6 DeleteCollection,
7 Get,
8 List,
9 Patch,
10 Post,
11 Proxy,
12 Put,
13 Watch,
14 WatchList,
15}
16
17#[cfg(feature = "serde")]
18#[allow(clippy::use_self)]
19impl<'de> serde::Deserialize<'de> for KubernetesAction {
20 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where D: serde::Deserializer<'de> {
21 struct Visitor;
22
23 impl serde::de::Visitor<'_> for Visitor {
24 type Value = KubernetesAction;
25
26 fn expecting(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
27 f.write_str("x-kubernetes-action")
28 }
29
30 fn visit_str<E>(self, v: &str) -> Result<Self::Value, E> where E: serde::de::Error {
31 Ok(match v {
32 "connect" => KubernetesAction::Connect,
33 "delete" => KubernetesAction::Delete,
34 "deletecollection" => KubernetesAction::DeleteCollection,
35 "get" => KubernetesAction::Get,
36 "list" => KubernetesAction::List,
37 "patch" => KubernetesAction::Patch,
38 "post" => KubernetesAction::Post,
39 "proxy" => KubernetesAction::Proxy,
40 "put" => KubernetesAction::Put,
41 "watch" => KubernetesAction::Watch,
42 "watchlist" => KubernetesAction::WatchList,
43 v => return Err(serde::de::Error::invalid_value(serde::de::Unexpected::Str(v), &self)),
44 })
45 }
46 }
47
48 deserializer.deserialize_str(Visitor)
49 }
50}
51
52#[derive(Clone, Debug)]
54pub struct Operation {
55 pub id: String,
56 pub kubernetes_action: Option<KubernetesAction>,
57 pub kubernetes_group_kind_version: Option<super::KubernetesGroupKindVersion>,
58 pub path: Path,
59}
60
61#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)]
63#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
64pub struct Path(pub String);
65
66impl std::ops::Deref for Path {
67 type Target = str;
68
69 fn deref(&self) -> &Self::Target {
70 &self.0
71 }
72}
73
74impl std::fmt::Display for Path {
75 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
76 self.0.fmt(f)
77 }
78}