#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
pub use std::collections::BTreeMap;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "trino.stackable.tech", version = "v1alpha1", kind = "TrinoCatalog", plural = "trinocatalogs")]
#[kube(namespaced)]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct TrinoCatalogSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configOverrides")]
pub config_overrides: Option<BTreeMap<String, String>>,
pub connector: TrinoCatalogConnector,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "experimentalConfigRemovals")]
pub experimental_config_removals: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "blackHole")]
pub black_hole: Option<TrinoCatalogConnectorBlackHole>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "deltaLake")]
pub delta_lake: Option<TrinoCatalogConnectorDeltaLake>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub generic: Option<TrinoCatalogConnectorGeneric>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "googleSheet")]
pub google_sheet: Option<TrinoCatalogConnectorGoogleSheet>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hive: Option<TrinoCatalogConnectorHive>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub iceberg: Option<TrinoCatalogConnectorIceberg>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tpcds: Option<TrinoCatalogConnectorTpcds>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tpch: Option<TrinoCatalogConnectorTpch>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorBlackHole {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorDeltaLake {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hdfs: Option<TrinoCatalogConnectorDeltaLakeHdfs>,
pub metastore: TrinoCatalogConnectorDeltaLakeMetastore,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub s3: Option<TrinoCatalogConnectorDeltaLakeS3>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorDeltaLakeHdfs {
#[serde(rename = "configMap")]
pub config_map: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorDeltaLakeMetastore {
#[serde(rename = "configMap")]
pub config_map: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorDeltaLakeS3 {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inline: Option<TrinoCatalogConnectorDeltaLakeS3Inline>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reference: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorDeltaLakeS3Inline {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessStyle")]
pub access_style: Option<TrinoCatalogConnectorDeltaLakeS3InlineAccessStyle>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credentials: Option<TrinoCatalogConnectorDeltaLakeS3InlineCredentials>,
pub host: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<u16>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<TrinoCatalogConnectorDeltaLakeS3InlineRegion>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls: Option<TrinoCatalogConnectorDeltaLakeS3InlineTls>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum TrinoCatalogConnectorDeltaLakeS3InlineAccessStyle {
Path,
VirtualHosted,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorDeltaLakeS3InlineCredentials {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scope: Option<TrinoCatalogConnectorDeltaLakeS3InlineCredentialsScope>,
#[serde(rename = "secretClass")]
pub secret_class: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorDeltaLakeS3InlineCredentialsScope {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "listenerVolumes")]
pub listener_volumes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub node: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pod: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub services: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorDeltaLakeS3InlineRegion {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorDeltaLakeS3InlineTls {
pub verification: TrinoCatalogConnectorDeltaLakeS3InlineTlsVerification,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorDeltaLakeS3InlineTlsVerification {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub none: Option<TrinoCatalogConnectorDeltaLakeS3InlineTlsVerificationNone>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server: Option<TrinoCatalogConnectorDeltaLakeS3InlineTlsVerificationServer>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorDeltaLakeS3InlineTlsVerificationNone {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorDeltaLakeS3InlineTlsVerificationServer {
#[serde(rename = "caCert")]
pub ca_cert: TrinoCatalogConnectorDeltaLakeS3InlineTlsVerificationServerCaCert,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorDeltaLakeS3InlineTlsVerificationServerCaCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretClass")]
pub secret_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "webPki")]
pub web_pki: Option<TrinoCatalogConnectorDeltaLakeS3InlineTlsVerificationServerCaCertWebPki>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorDeltaLakeS3InlineTlsVerificationServerCaCertWebPki {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorGeneric {
#[serde(rename = "connectorName")]
pub connector_name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<BTreeMap<String, TrinoCatalogConnectorGenericProperties>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorGenericProperties {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFromConfigMap")]
pub value_from_config_map: Option<TrinoCatalogConnectorGenericPropertiesValueFromConfigMap>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFromSecret")]
pub value_from_secret: Option<TrinoCatalogConnectorGenericPropertiesValueFromSecret>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorGenericPropertiesValueFromConfigMap {
pub key: String,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorGenericPropertiesValueFromSecret {
pub key: String,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorGoogleSheet {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cache: Option<TrinoCatalogConnectorGoogleSheetCache>,
#[serde(rename = "credentialsSecret")]
pub credentials_secret: String,
#[serde(rename = "metadataSheetId")]
pub metadata_sheet_id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorGoogleSheetCache {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sheetsDataExpireAfterWrite")]
pub sheets_data_expire_after_write: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sheetsDataMaxCacheSize")]
pub sheets_data_max_cache_size: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorHive {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hdfs: Option<TrinoCatalogConnectorHiveHdfs>,
pub metastore: TrinoCatalogConnectorHiveMetastore,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub s3: Option<TrinoCatalogConnectorHiveS3>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorHiveHdfs {
#[serde(rename = "configMap")]
pub config_map: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorHiveMetastore {
#[serde(rename = "configMap")]
pub config_map: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorHiveS3 {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inline: Option<TrinoCatalogConnectorHiveS3Inline>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reference: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorHiveS3Inline {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessStyle")]
pub access_style: Option<TrinoCatalogConnectorHiveS3InlineAccessStyle>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credentials: Option<TrinoCatalogConnectorHiveS3InlineCredentials>,
pub host: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<u16>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<TrinoCatalogConnectorHiveS3InlineRegion>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls: Option<TrinoCatalogConnectorHiveS3InlineTls>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum TrinoCatalogConnectorHiveS3InlineAccessStyle {
Path,
VirtualHosted,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorHiveS3InlineCredentials {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scope: Option<TrinoCatalogConnectorHiveS3InlineCredentialsScope>,
#[serde(rename = "secretClass")]
pub secret_class: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorHiveS3InlineCredentialsScope {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "listenerVolumes")]
pub listener_volumes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub node: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pod: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub services: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorHiveS3InlineRegion {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorHiveS3InlineTls {
pub verification: TrinoCatalogConnectorHiveS3InlineTlsVerification,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorHiveS3InlineTlsVerification {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub none: Option<TrinoCatalogConnectorHiveS3InlineTlsVerificationNone>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server: Option<TrinoCatalogConnectorHiveS3InlineTlsVerificationServer>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorHiveS3InlineTlsVerificationNone {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorHiveS3InlineTlsVerificationServer {
#[serde(rename = "caCert")]
pub ca_cert: TrinoCatalogConnectorHiveS3InlineTlsVerificationServerCaCert,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorHiveS3InlineTlsVerificationServerCaCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretClass")]
pub secret_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "webPki")]
pub web_pki: Option<TrinoCatalogConnectorHiveS3InlineTlsVerificationServerCaCertWebPki>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorHiveS3InlineTlsVerificationServerCaCertWebPki {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorIceberg {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hdfs: Option<TrinoCatalogConnectorIcebergHdfs>,
pub metastore: TrinoCatalogConnectorIcebergMetastore,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub s3: Option<TrinoCatalogConnectorIcebergS3>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorIcebergHdfs {
#[serde(rename = "configMap")]
pub config_map: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorIcebergMetastore {
#[serde(rename = "configMap")]
pub config_map: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorIcebergS3 {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inline: Option<TrinoCatalogConnectorIcebergS3Inline>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reference: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorIcebergS3Inline {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessStyle")]
pub access_style: Option<TrinoCatalogConnectorIcebergS3InlineAccessStyle>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credentials: Option<TrinoCatalogConnectorIcebergS3InlineCredentials>,
pub host: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<u16>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<TrinoCatalogConnectorIcebergS3InlineRegion>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls: Option<TrinoCatalogConnectorIcebergS3InlineTls>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum TrinoCatalogConnectorIcebergS3InlineAccessStyle {
Path,
VirtualHosted,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorIcebergS3InlineCredentials {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scope: Option<TrinoCatalogConnectorIcebergS3InlineCredentialsScope>,
#[serde(rename = "secretClass")]
pub secret_class: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorIcebergS3InlineCredentialsScope {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "listenerVolumes")]
pub listener_volumes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub node: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pod: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub services: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorIcebergS3InlineRegion {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorIcebergS3InlineTls {
pub verification: TrinoCatalogConnectorIcebergS3InlineTlsVerification,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorIcebergS3InlineTlsVerification {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub none: Option<TrinoCatalogConnectorIcebergS3InlineTlsVerificationNone>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub server: Option<TrinoCatalogConnectorIcebergS3InlineTlsVerificationServer>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorIcebergS3InlineTlsVerificationNone {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorIcebergS3InlineTlsVerificationServer {
#[serde(rename = "caCert")]
pub ca_cert: TrinoCatalogConnectorIcebergS3InlineTlsVerificationServerCaCert,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorIcebergS3InlineTlsVerificationServerCaCert {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretClass")]
pub secret_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "webPki")]
pub web_pki: Option<TrinoCatalogConnectorIcebergS3InlineTlsVerificationServerCaCertWebPki>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorIcebergS3InlineTlsVerificationServerCaCertWebPki {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorTpcds {
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct TrinoCatalogConnectorTpch {
}