#[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 = "v1alpha1", kind = "Kamelet", plural = "kamelets")]
#[kube(namespaced)]
#[kube(status = "KameletStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct KameletSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataTypes")]
pub data_types: Option<BTreeMap<String, KameletDataTypes>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub definition: Option<KameletDefinition>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dependencies: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sources: Option<Vec<KameletSources>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub template: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub types: Option<BTreeMap<String, KameletTypes>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct KameletDataTypes {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub headers: Option<BTreeMap<String, KameletDataTypesHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub types: Option<BTreeMap<String, KameletDataTypesTypes>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct KameletDataTypesHeaders {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct KameletDataTypesTypes {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dependencies: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub headers: Option<BTreeMap<String, KameletDataTypesTypesHeaders>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mediaType")]
pub media_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub schema: Option<KameletDataTypesTypesSchema>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct KameletDataTypesTypesHeaders {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct KameletDataTypesTypesSchema {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "$schema")]
pub schema: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub example: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalDocs")]
pub external_docs: Option<KameletDataTypesTypesSchemaExternalDocs>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<BTreeMap<String, KameletDataTypesTypesSchemaProperties>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct KameletDataTypesTypesSchemaExternalDocs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct KameletDataTypesTypesSchemaProperties {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deprecated: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enum")]
pub r#enum: Option<Vec<serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub example: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exclusiveMaximum")]
pub exclusive_maximum: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exclusiveMinimum")]
pub exclusive_minimum: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxItems")]
pub max_items: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxLength")]
pub max_length: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxProperties")]
pub max_properties: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub maximum: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minItems")]
pub min_items: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minLength")]
pub min_length: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minProperties")]
pub min_properties: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub minimum: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "multipleOf")]
pub multiple_of: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub nullable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pattern: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "uniqueItems")]
pub unique_items: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "x-descriptors")]
pub x_descriptors: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct KameletDefinition {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "$schema")]
pub schema: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub example: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalDocs")]
pub external_docs: Option<KameletDefinitionExternalDocs>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<BTreeMap<String, KameletDefinitionProperties>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct KameletDefinitionExternalDocs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct KameletDefinitionProperties {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deprecated: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enum")]
pub r#enum: Option<Vec<serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub example: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exclusiveMaximum")]
pub exclusive_maximum: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exclusiveMinimum")]
pub exclusive_minimum: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxItems")]
pub max_items: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxLength")]
pub max_length: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxProperties")]
pub max_properties: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub maximum: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minItems")]
pub min_items: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minLength")]
pub min_length: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minProperties")]
pub min_properties: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub minimum: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "multipleOf")]
pub multiple_of: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub nullable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pattern: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "uniqueItems")]
pub unique_items: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "x-descriptors")]
pub x_descriptors: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct KameletSources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub compression: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "contentKey")]
pub content_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "contentRef")]
pub content_ref: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "contentType")]
pub content_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "from-kamelet")]
pub from_kamelet: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub interceptors: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub language: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub loader: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "property-names")]
pub property_names: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rawContent")]
pub raw_content: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct KameletTypes {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mediaType")]
pub media_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub schema: Option<KameletTypesSchema>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct KameletTypesSchema {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "$schema")]
pub schema: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub example: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalDocs")]
pub external_docs: Option<KameletTypesSchemaExternalDocs>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<BTreeMap<String, KameletTypesSchemaProperties>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub required: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct KameletTypesSchemaExternalDocs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct KameletTypesSchemaProperties {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deprecated: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enum")]
pub r#enum: Option<Vec<serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub example: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exclusiveMaximum")]
pub exclusive_maximum: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "exclusiveMinimum")]
pub exclusive_minimum: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxItems")]
pub max_items: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxLength")]
pub max_length: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxProperties")]
pub max_properties: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub maximum: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minItems")]
pub min_items: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minLength")]
pub min_length: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "minProperties")]
pub min_properties: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub minimum: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "multipleOf")]
pub multiple_of: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub nullable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pattern: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
pub r#type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "uniqueItems")]
pub unique_items: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "x-descriptors")]
pub x_descriptors: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct KameletStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[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>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<Vec<KameletStatusProperties>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct KameletStatusProperties {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}