#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "application-networking.k8s.aws", version = "v1alpha1", kind = "ServiceExport", plural = "serviceexports")]
#[kube(namespaced)]
#[kube(status = "ServiceExportStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct ServiceExportSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exportedPorts")]
pub exported_ports: Option<Vec<ServiceExportExportedPorts>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct ServiceExportExportedPorts {
pub port: i32,
#[serde(rename = "routeType")]
pub route_type: ServiceExportExportedPortsRouteType,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ServiceExportExportedPortsRouteType {
#[serde(rename = "HTTP")]
Http,
#[serde(rename = "GRPC")]
Grpc,
#[serde(rename = "TLS")]
Tls,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ServiceExportStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
}