use k8s_openapi::api::{
apps::v1::Deployment,
core::v1::{ConfigMap, Pod, Service},
};
use staircase::{ComponentizedResource, LabeledResource, NamedResource};
use crate::crd::Elevator;
#[derive(Debug, Eq, PartialEq)]
pub enum Component {
Elevator,
}
#[derive(ComponentizedResource, NamedResource)]
#[staircase(name = "{name}-elevator", resource = ConfigMap, identifier = Elevator, component_const = Component::Elevator)]
pub struct ElevatorPage;
#[derive(ComponentizedResource, NamedResource, Default)]
#[staircase(name = "{name}-elevator", resource = Deployment, identifier = Elevator, component_const = Component::Elevator)]
pub struct ElevatorDeployment;
#[derive(ComponentizedResource, LabeledResource)]
#[staircase(label = "{name}-elevator", resource = Pod, identifier = Elevator, component_const = Component::Elevator)]
pub struct ElevatorPod;
#[derive(ComponentizedResource, NamedResource, Default)]
#[staircase(name = "{name}-elevator", resource = Service, identifier = Elevator, component_const = Component::Elevator)]
pub struct ElevatorService;