#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "chisel-operator.io", version = "v2", kind = "ExitNode", plural = "exitnodes")]
#[kube(namespaced)]
#[kube(status = "ExitNodeStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct ExitNodeSpec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub chisel_image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default_route: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub external_host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fingerprint: Option<String>,
pub host: String,
pub port: u16,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ExitNodeStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
pub ip: String,
pub name: String,
pub provider: String,
pub service_binding: Vec<ExitNodeStatusServiceBinding>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ExitNodeStatusServiceBinding {
pub name: String,
pub namespace: String,
}