#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
pub use std::collections::BTreeMap;
pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "camel.apache.org", version = "v1", kind = "CamelCatalog", plural = "camelcatalogs")]
#[kube(namespaced)]
#[kube(status = "CamelCatalogStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct CamelCatalogSpec {
pub artifacts: BTreeMap<String, CamelCatalogArtifacts>,
pub loaders: BTreeMap<String, CamelCatalogLoaders>,
pub runtime: CamelCatalogRuntime,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogArtifacts {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "artifactId")]
pub artifact_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classifier: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dataformats: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dependencies: Option<Vec<CamelCatalogArtifactsDependencies>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exclusions: Option<Vec<CamelCatalogArtifactsExclusions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "groupId")]
pub group_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "javaTypes")]
pub java_types: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub languages: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub schemes: Option<Vec<CamelCatalogArtifactsSchemes>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogArtifactsDependencies {
#[serde(rename = "artifactId")]
pub artifact_id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classifier: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exclusions: Option<Vec<CamelCatalogArtifactsDependenciesExclusions>>,
#[serde(rename = "groupId")]
pub group_id: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogArtifactsDependenciesExclusions {
#[serde(rename = "artifactId")]
pub artifact_id: String,
#[serde(rename = "groupId")]
pub group_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogArtifactsExclusions {
#[serde(rename = "artifactId")]
pub artifact_id: String,
#[serde(rename = "groupId")]
pub group_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogArtifactsSchemes {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub consumer: Option<CamelCatalogArtifactsSchemesConsumer>,
pub http: bool,
pub id: String,
pub passive: bool,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub producer: Option<CamelCatalogArtifactsSchemesProducer>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogArtifactsSchemesConsumer {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dependencies: Option<Vec<CamelCatalogArtifactsSchemesConsumerDependencies>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogArtifactsSchemesConsumerDependencies {
#[serde(rename = "artifactId")]
pub artifact_id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classifier: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exclusions: Option<Vec<CamelCatalogArtifactsSchemesConsumerDependenciesExclusions>>,
#[serde(rename = "groupId")]
pub group_id: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogArtifactsSchemesConsumerDependenciesExclusions {
#[serde(rename = "artifactId")]
pub artifact_id: String,
#[serde(rename = "groupId")]
pub group_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogArtifactsSchemesProducer {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dependencies: Option<Vec<CamelCatalogArtifactsSchemesProducerDependencies>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogArtifactsSchemesProducerDependencies {
#[serde(rename = "artifactId")]
pub artifact_id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classifier: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exclusions: Option<Vec<CamelCatalogArtifactsSchemesProducerDependenciesExclusions>>,
#[serde(rename = "groupId")]
pub group_id: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogArtifactsSchemesProducerDependenciesExclusions {
#[serde(rename = "artifactId")]
pub artifact_id: String,
#[serde(rename = "groupId")]
pub group_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogLoaders {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "artifactId")]
pub artifact_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classifier: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dependencies: Option<Vec<CamelCatalogLoadersDependencies>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "groupId")]
pub group_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub languages: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogLoadersDependencies {
#[serde(rename = "artifactId")]
pub artifact_id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classifier: Option<String>,
#[serde(rename = "groupId")]
pub group_id: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogRuntime {
#[serde(rename = "applicationClass")]
pub application_class: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<BTreeMap<String, CamelCatalogRuntimeCapabilities>>,
pub dependencies: Vec<CamelCatalogRuntimeDependencies>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<BTreeMap<String, String>>,
pub provider: String,
pub version: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogRuntimeCapabilities {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "buildTimeProperties")]
pub build_time_properties: Option<Vec<CamelCatalogRuntimeCapabilitiesBuildTimeProperties>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dependencies: Option<Vec<CamelCatalogRuntimeCapabilitiesDependencies>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runtimeProperties")]
pub runtime_properties: Option<Vec<CamelCatalogRuntimeCapabilitiesRuntimeProperties>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogRuntimeCapabilitiesBuildTimeProperties {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogRuntimeCapabilitiesDependencies {
#[serde(rename = "artifactId")]
pub artifact_id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classifier: Option<String>,
#[serde(rename = "groupId")]
pub group_id: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogRuntimeCapabilitiesRuntimeProperties {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogRuntimeDependencies {
#[serde(rename = "artifactId")]
pub artifact_id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub classifier: Option<String>,
#[serde(rename = "groupId")]
pub group_id: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CamelCatalogStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "observedGeneration")]
pub observed_generation: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phase: Option<String>,
}