#[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::util::intstr::IntOrString;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "org.eclipse.che", version = "v2", kind = "CheCluster", plural = "checlusters")]
#[kube(namespaced)]
#[kube(status = "CheClusterStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct CheClusterSpec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub components: Option<CheClusterComponents>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerRegistry")]
pub container_registry: Option<CheClusterContainerRegistry>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "devEnvironments")]
pub dev_environments: Option<CheClusterDevEnvironments>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gitServices")]
pub git_services: Option<CheClusterGitServices>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub networking: Option<CheClusterNetworking>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponents {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cheServer")]
pub che_server: Option<CheClusterComponentsCheServer>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dashboard: Option<CheClusterComponentsDashboard>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "devWorkspace")]
pub dev_workspace: Option<CheClusterComponentsDevWorkspace>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "devfileRegistry")]
pub devfile_registry: Option<CheClusterComponentsDevfileRegistry>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePuller")]
pub image_puller: Option<CheClusterComponentsImagePuller>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metrics: Option<CheClusterComponentsMetrics>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pluginRegistry")]
pub plugin_registry: Option<CheClusterComponentsPluginRegistry>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsCheServer {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterRoles")]
pub cluster_roles: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub debug: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deployment: Option<CheClusterComponentsCheServerDeployment>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "extraProperties")]
pub extra_properties: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "logLevel")]
pub log_level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub proxy: Option<CheClusterComponentsCheServerProxy>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsCheServerDeployment {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<Vec<CheClusterComponentsCheServerDeploymentContainers>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")]
pub node_selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<CheClusterComponentsCheServerDeploymentSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tolerations: Option<Vec<CheClusterComponentsCheServerDeploymentTolerations>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsCheServerDeploymentContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<CheClusterComponentsCheServerDeploymentContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<CheClusterComponentsCheServerDeploymentContainersImagePullPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CheClusterComponentsCheServerDeploymentContainersResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsCheServerDeploymentContainersEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<CheClusterComponentsCheServerDeploymentContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsCheServerDeploymentContainersEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<CheClusterComponentsCheServerDeploymentContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<CheClusterComponentsCheServerDeploymentContainersEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<CheClusterComponentsCheServerDeploymentContainersEnvValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<CheClusterComponentsCheServerDeploymentContainersEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<CheClusterComponentsCheServerDeploymentContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsCheServerDeploymentContainersEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsCheServerDeploymentContainersEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsCheServerDeploymentContainersEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsCheServerDeploymentContainersEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsCheServerDeploymentContainersEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterComponentsCheServerDeploymentContainersImagePullPolicy {
Always,
IfNotPresent,
Never,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsCheServerDeploymentContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<CheClusterComponentsCheServerDeploymentContainersResourcesLimits>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<CheClusterComponentsCheServerDeploymentContainersResourcesRequest>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsCheServerDeploymentContainersResourcesLimits {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsCheServerDeploymentContainersResourcesRequest {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsCheServerDeploymentSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroup")]
pub fs_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsCheServerDeploymentTolerations {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub effect: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub operator: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")]
pub toleration_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsCheServerProxy {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "credentialsSecretName")]
pub credentials_secret_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nonProxyHosts")]
pub non_proxy_hosts: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboard {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub branding: Option<CheClusterComponentsDashboardBranding>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deployment: Option<CheClusterComponentsDashboardDeployment>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "headerMessage")]
pub header_message: Option<CheClusterComponentsDashboardHeaderMessage>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "logLevel")]
pub log_level: Option<CheClusterComponentsDashboardLogLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboardBranding {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub logo: Option<CheClusterComponentsDashboardBrandingLogo>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboardBrandingLogo {
pub base64data: String,
pub mediatype: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboardDeployment {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<Vec<CheClusterComponentsDashboardDeploymentContainers>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")]
pub node_selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<CheClusterComponentsDashboardDeploymentSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tolerations: Option<Vec<CheClusterComponentsDashboardDeploymentTolerations>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboardDeploymentContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<CheClusterComponentsDashboardDeploymentContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<CheClusterComponentsDashboardDeploymentContainersImagePullPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CheClusterComponentsDashboardDeploymentContainersResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboardDeploymentContainersEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<CheClusterComponentsDashboardDeploymentContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboardDeploymentContainersEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<CheClusterComponentsDashboardDeploymentContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<CheClusterComponentsDashboardDeploymentContainersEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<CheClusterComponentsDashboardDeploymentContainersEnvValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<CheClusterComponentsDashboardDeploymentContainersEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<CheClusterComponentsDashboardDeploymentContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboardDeploymentContainersEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboardDeploymentContainersEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboardDeploymentContainersEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboardDeploymentContainersEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboardDeploymentContainersEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterComponentsDashboardDeploymentContainersImagePullPolicy {
Always,
IfNotPresent,
Never,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboardDeploymentContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<CheClusterComponentsDashboardDeploymentContainersResourcesLimits>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<CheClusterComponentsDashboardDeploymentContainersResourcesRequest>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboardDeploymentContainersResourcesLimits {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboardDeploymentContainersResourcesRequest {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboardDeploymentSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroup")]
pub fs_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboardDeploymentTolerations {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub effect: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub operator: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")]
pub toleration_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDashboardHeaderMessage {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub show: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub text: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterComponentsDashboardLogLevel {
#[serde(rename = "DEBUG")]
Debug,
#[serde(rename = "INFO")]
Info,
#[serde(rename = "WARN")]
Warn,
#[serde(rename = "ERROR")]
Error,
#[serde(rename = "FATAL")]
Fatal,
#[serde(rename = "TRACE")]
Trace,
#[serde(rename = "SILENT")]
Silent,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDevWorkspace {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runningLimit")]
pub running_limit: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDevfileRegistry {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deployment: Option<CheClusterComponentsDevfileRegistryDeployment>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disableInternalRegistry")]
pub disable_internal_registry: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalDevfileRegistries")]
pub external_devfile_registries: Option<Vec<CheClusterComponentsDevfileRegistryExternalDevfileRegistries>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDevfileRegistryDeployment {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<Vec<CheClusterComponentsDevfileRegistryDeploymentContainers>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")]
pub node_selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<CheClusterComponentsDevfileRegistryDeploymentSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tolerations: Option<Vec<CheClusterComponentsDevfileRegistryDeploymentTolerations>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDevfileRegistryDeploymentContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<CheClusterComponentsDevfileRegistryDeploymentContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<CheClusterComponentsDevfileRegistryDeploymentContainersImagePullPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CheClusterComponentsDevfileRegistryDeploymentContainersResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDevfileRegistryDeploymentContainersEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<CheClusterComponentsDevfileRegistryDeploymentContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDevfileRegistryDeploymentContainersEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<CheClusterComponentsDevfileRegistryDeploymentContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<CheClusterComponentsDevfileRegistryDeploymentContainersEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<CheClusterComponentsDevfileRegistryDeploymentContainersEnvValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<CheClusterComponentsDevfileRegistryDeploymentContainersEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<CheClusterComponentsDevfileRegistryDeploymentContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDevfileRegistryDeploymentContainersEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDevfileRegistryDeploymentContainersEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDevfileRegistryDeploymentContainersEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDevfileRegistryDeploymentContainersEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDevfileRegistryDeploymentContainersEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterComponentsDevfileRegistryDeploymentContainersImagePullPolicy {
Always,
IfNotPresent,
Never,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDevfileRegistryDeploymentContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<CheClusterComponentsDevfileRegistryDeploymentContainersResourcesLimits>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<CheClusterComponentsDevfileRegistryDeploymentContainersResourcesRequest>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDevfileRegistryDeploymentContainersResourcesLimits {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDevfileRegistryDeploymentContainersResourcesRequest {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDevfileRegistryDeploymentSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroup")]
pub fs_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDevfileRegistryDeploymentTolerations {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub effect: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub operator: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")]
pub toleration_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsDevfileRegistryExternalDevfileRegistries {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsImagePuller {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub spec: Option<CheClusterComponentsImagePullerSpec>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsImagePullerSpec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cachingCPULimit")]
pub caching_cpu_limit: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cachingCPURequest")]
pub caching_cpu_request: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cachingIntervalHours")]
pub caching_interval_hours: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cachingMemoryLimit")]
pub caching_memory_limit: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cachingMemoryRequest")]
pub caching_memory_request: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapName")]
pub config_map_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "daemonsetName")]
pub daemonset_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "deploymentName")]
pub deployment_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullSecrets")]
pub image_pull_secrets: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullerImage")]
pub image_puller_image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub images: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")]
pub node_selector: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsMetrics {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enable: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsPluginRegistry {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deployment: Option<CheClusterComponentsPluginRegistryDeployment>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disableInternalRegistry")]
pub disable_internal_registry: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalPluginRegistries")]
pub external_plugin_registries: Option<Vec<CheClusterComponentsPluginRegistryExternalPluginRegistries>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "openVSXURL")]
pub open_vsxurl: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsPluginRegistryDeployment {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<Vec<CheClusterComponentsPluginRegistryDeploymentContainers>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")]
pub node_selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<CheClusterComponentsPluginRegistryDeploymentSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tolerations: Option<Vec<CheClusterComponentsPluginRegistryDeploymentTolerations>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsPluginRegistryDeploymentContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<CheClusterComponentsPluginRegistryDeploymentContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<CheClusterComponentsPluginRegistryDeploymentContainersImagePullPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CheClusterComponentsPluginRegistryDeploymentContainersResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsPluginRegistryDeploymentContainersEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<CheClusterComponentsPluginRegistryDeploymentContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsPluginRegistryDeploymentContainersEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<CheClusterComponentsPluginRegistryDeploymentContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<CheClusterComponentsPluginRegistryDeploymentContainersEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<CheClusterComponentsPluginRegistryDeploymentContainersEnvValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<CheClusterComponentsPluginRegistryDeploymentContainersEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<CheClusterComponentsPluginRegistryDeploymentContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsPluginRegistryDeploymentContainersEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsPluginRegistryDeploymentContainersEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsPluginRegistryDeploymentContainersEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsPluginRegistryDeploymentContainersEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsPluginRegistryDeploymentContainersEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterComponentsPluginRegistryDeploymentContainersImagePullPolicy {
Always,
IfNotPresent,
Never,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsPluginRegistryDeploymentContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<CheClusterComponentsPluginRegistryDeploymentContainersResourcesLimits>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<CheClusterComponentsPluginRegistryDeploymentContainersResourcesRequest>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsPluginRegistryDeploymentContainersResourcesLimits {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsPluginRegistryDeploymentContainersResourcesRequest {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsPluginRegistryDeploymentSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroup")]
pub fs_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsPluginRegistryDeploymentTolerations {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub effect: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub operator: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")]
pub toleration_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterComponentsPluginRegistryExternalPluginRegistries {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterContainerRegistry {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hostname: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub organization: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironments {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowedSources")]
pub allowed_sources: Option<CheClusterDevEnvironmentsAllowedSources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerBuildConfiguration")]
pub container_build_configuration: Option<CheClusterDevEnvironmentsContainerBuildConfiguration>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerResourceCaps")]
pub container_resource_caps: Option<CheClusterDevEnvironmentsContainerResourceCaps>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerRunConfiguration")]
pub container_run_configuration: Option<CheClusterDevEnvironmentsContainerRunConfiguration>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultComponents")]
pub default_components: Option<Vec<CheClusterDevEnvironmentsDefaultComponents>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultContainerResources")]
pub default_container_resources: Option<CheClusterDevEnvironmentsDefaultContainerResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultEditor")]
pub default_editor: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultNamespace")]
pub default_namespace: Option<CheClusterDevEnvironmentsDefaultNamespace>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultPlugins")]
pub default_plugins: Option<Vec<CheClusterDevEnvironmentsDefaultPlugins>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "deploymentStrategy")]
pub deployment_strategy: Option<CheClusterDevEnvironmentsDeploymentStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disableContainerBuildCapabilities")]
pub disable_container_build_capabilities: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disableContainerRunCapabilities")]
pub disable_container_run_capabilities: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "editorsDownloadUrls")]
pub editors_download_urls: Option<Vec<CheClusterDevEnvironmentsEditorsDownloadUrls>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gatewayContainer")]
pub gateway_container: Option<CheClusterDevEnvironmentsGatewayContainer>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ignoredUnrecoverableEvents")]
pub ignored_unrecoverable_events: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<CheClusterDevEnvironmentsImagePullPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxNumberOfRunningWorkspacesPerCluster")]
pub max_number_of_running_workspaces_per_cluster: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxNumberOfRunningWorkspacesPerUser")]
pub max_number_of_running_workspaces_per_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "maxNumberOfWorkspacesPerUser")]
pub max_number_of_workspaces_per_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub networking: Option<CheClusterDevEnvironmentsNetworking>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")]
pub node_selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "persistUserHome")]
pub persist_user_home: Option<CheClusterDevEnvironmentsPersistUserHome>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podSchedulerName")]
pub pod_scheduler_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "projectCloneContainer")]
pub project_clone_container: Option<CheClusterDevEnvironmentsProjectCloneContainer>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runtimeClassName")]
pub runtime_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secondsOfInactivityBeforeIdling")]
pub seconds_of_inactivity_before_idling: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secondsOfRunBeforeIdling")]
pub seconds_of_run_before_idling: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub security: Option<CheClusterDevEnvironmentsSecurity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccount")]
pub service_account: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountTokens")]
pub service_account_tokens: Option<Vec<CheClusterDevEnvironmentsServiceAccountTokens>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "startTimeoutSeconds")]
pub start_timeout_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<CheClusterDevEnvironmentsStorage>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tolerations: Option<Vec<CheClusterDevEnvironmentsTolerations>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "trustedCerts")]
pub trusted_certs: Option<CheClusterDevEnvironmentsTrustedCerts>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<CheClusterDevEnvironmentsUser>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workspacesPodAnnotations")]
pub workspaces_pod_annotations: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsAllowedSources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub urls: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsContainerBuildConfiguration {
#[serde(rename = "openShiftSecurityContextConstraint")]
pub open_shift_security_context_constraint: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsContainerResourceCaps {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<CheClusterDevEnvironmentsContainerResourceCapsClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsContainerResourceCapsClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsContainerRunConfiguration {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerSecurityContext")]
pub container_security_context: Option<CheClusterDevEnvironmentsContainerRunConfigurationContainerSecurityContext>,
#[serde(rename = "openShiftSecurityContextConstraint")]
pub open_shift_security_context_constraint: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workspacesPodAnnotations")]
pub workspaces_pod_annotations: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsContainerRunConfigurationContainerSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowPrivilegeEscalation")]
pub allow_privilege_escalation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<CheClusterDevEnvironmentsContainerRunConfigurationContainerSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<CheClusterDevEnvironmentsContainerRunConfigurationContainerSecurityContextCapabilities>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")]
pub proc_mount: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnlyRootFilesystem")]
pub read_only_root_filesystem: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<CheClusterDevEnvironmentsContainerRunConfigurationContainerSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<CheClusterDevEnvironmentsContainerRunConfigurationContainerSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<CheClusterDevEnvironmentsContainerRunConfigurationContainerSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsContainerRunConfigurationContainerSecurityContextAppArmorProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsContainerRunConfigurationContainerSecurityContextCapabilities {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub drop: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsContainerRunConfigurationContainerSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: 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")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsContainerRunConfigurationContainerSecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsContainerRunConfigurationContainerSecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponents {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attributes: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "componentType")]
pub component_type: Option<CheClusterDevEnvironmentsDefaultComponentsComponentType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub container: Option<CheClusterDevEnvironmentsDefaultComponentsContainer>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub custom: Option<CheClusterDevEnvironmentsDefaultComponentsCustom>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<CheClusterDevEnvironmentsDefaultComponentsImage>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kubernetes: Option<CheClusterDevEnvironmentsDefaultComponentsKubernetes>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub openshift: Option<CheClusterDevEnvironmentsDefaultComponentsOpenshift>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub plugin: Option<CheClusterDevEnvironmentsDefaultComponentsPlugin>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub volume: Option<CheClusterDevEnvironmentsDefaultComponentsVolume>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsComponentType {
Container,
Kubernetes,
Openshift,
Volume,
Image,
Plugin,
Custom,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsContainer {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotation: Option<CheClusterDevEnvironmentsDefaultComponentsContainerAnnotation>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cpuLimit")]
pub cpu_limit: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cpuRequest")]
pub cpu_request: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dedicatedPod")]
pub dedicated_pod: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoints: Option<Vec<CheClusterDevEnvironmentsDefaultComponentsContainerEndpoints>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<CheClusterDevEnvironmentsDefaultComponentsContainerEnv>>,
pub image: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "memoryLimit")]
pub memory_limit: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "memoryRequest")]
pub memory_request: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mountSources")]
pub mount_sources: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceMapping")]
pub source_mapping: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<CheClusterDevEnvironmentsDefaultComponentsContainerVolumeMounts>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsContainerAnnotation {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deployment: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsContainerEndpoints {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotation: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attributes: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exposure: Option<CheClusterDevEnvironmentsDefaultComponentsContainerEndpointsExposure>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<CheClusterDevEnvironmentsDefaultComponentsContainerEndpointsProtocol>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure: Option<bool>,
#[serde(rename = "targetPort")]
pub target_port: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsContainerEndpointsExposure {
#[serde(rename = "public")]
Public,
#[serde(rename = "internal")]
Internal,
#[serde(rename = "none")]
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsContainerEndpointsProtocol {
#[serde(rename = "http")]
Http,
#[serde(rename = "https")]
Https,
#[serde(rename = "ws")]
Ws,
#[serde(rename = "wss")]
Wss,
#[serde(rename = "tcp")]
Tcp,
#[serde(rename = "udp")]
Udp,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsContainerEnv {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsContainerVolumeMounts {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsCustom {
#[serde(rename = "componentClass")]
pub component_class: String,
#[serde(rename = "embeddedResource")]
pub embedded_resource: BTreeMap<String, serde_json::Value>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsImage {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "autoBuild")]
pub auto_build: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerfile: Option<CheClusterDevEnvironmentsDefaultComponentsImageDockerfile>,
#[serde(rename = "imageName")]
pub image_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imageType")]
pub image_type: Option<CheClusterDevEnvironmentsDefaultComponentsImageImageType>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsImageDockerfile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "buildContext")]
pub build_context: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "devfileRegistry")]
pub devfile_registry: Option<CheClusterDevEnvironmentsDefaultComponentsImageDockerfileDevfileRegistry>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub git: Option<CheClusterDevEnvironmentsDefaultComponentsImageDockerfileGit>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rootRequired")]
pub root_required: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "srcType")]
pub src_type: Option<CheClusterDevEnvironmentsDefaultComponentsImageDockerfileSrcType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uri: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsImageDockerfileDevfileRegistry {
pub id: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "registryUrl")]
pub registry_url: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsImageDockerfileGit {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "checkoutFrom")]
pub checkout_from: Option<CheClusterDevEnvironmentsDefaultComponentsImageDockerfileGitCheckoutFrom>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileLocation")]
pub file_location: Option<String>,
pub remotes: BTreeMap<String, String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsImageDockerfileGitCheckoutFrom {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub remote: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revision: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsImageDockerfileSrcType {
Uri,
DevfileRegistry,
Git,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsImageImageType {
Dockerfile,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsKubernetes {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "deployByDefault")]
pub deploy_by_default: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoints: Option<Vec<CheClusterDevEnvironmentsDefaultComponentsKubernetesEndpoints>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inlined: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "locationType")]
pub location_type: Option<CheClusterDevEnvironmentsDefaultComponentsKubernetesLocationType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uri: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsKubernetesEndpoints {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotation: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attributes: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exposure: Option<CheClusterDevEnvironmentsDefaultComponentsKubernetesEndpointsExposure>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<CheClusterDevEnvironmentsDefaultComponentsKubernetesEndpointsProtocol>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure: Option<bool>,
#[serde(rename = "targetPort")]
pub target_port: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsKubernetesEndpointsExposure {
#[serde(rename = "public")]
Public,
#[serde(rename = "internal")]
Internal,
#[serde(rename = "none")]
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsKubernetesEndpointsProtocol {
#[serde(rename = "http")]
Http,
#[serde(rename = "https")]
Https,
#[serde(rename = "ws")]
Ws,
#[serde(rename = "wss")]
Wss,
#[serde(rename = "tcp")]
Tcp,
#[serde(rename = "udp")]
Udp,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsKubernetesLocationType {
Uri,
Inlined,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsOpenshift {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "deployByDefault")]
pub deploy_by_default: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoints: Option<Vec<CheClusterDevEnvironmentsDefaultComponentsOpenshiftEndpoints>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inlined: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "locationType")]
pub location_type: Option<CheClusterDevEnvironmentsDefaultComponentsOpenshiftLocationType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uri: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsOpenshiftEndpoints {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotation: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attributes: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exposure: Option<CheClusterDevEnvironmentsDefaultComponentsOpenshiftEndpointsExposure>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<CheClusterDevEnvironmentsDefaultComponentsOpenshiftEndpointsProtocol>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure: Option<bool>,
#[serde(rename = "targetPort")]
pub target_port: i64,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsOpenshiftEndpointsExposure {
#[serde(rename = "public")]
Public,
#[serde(rename = "internal")]
Internal,
#[serde(rename = "none")]
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsOpenshiftEndpointsProtocol {
#[serde(rename = "http")]
Http,
#[serde(rename = "https")]
Https,
#[serde(rename = "ws")]
Ws,
#[serde(rename = "wss")]
Wss,
#[serde(rename = "tcp")]
Tcp,
#[serde(rename = "udp")]
Udp,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsOpenshiftLocationType {
Uri,
Inlined,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPlugin {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub commands: Option<Vec<CheClusterDevEnvironmentsDefaultComponentsPluginCommands>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub components: Option<Vec<CheClusterDevEnvironmentsDefaultComponentsPluginComponents>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "importReferenceType")]
pub import_reference_type: Option<CheClusterDevEnvironmentsDefaultComponentsPluginImportReferenceType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kubernetes: Option<CheClusterDevEnvironmentsDefaultComponentsPluginKubernetes>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "registryUrl")]
pub registry_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uri: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginCommands {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub apply: Option<CheClusterDevEnvironmentsDefaultComponentsPluginCommandsApply>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attributes: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "commandType")]
pub command_type: Option<CheClusterDevEnvironmentsDefaultComponentsPluginCommandsCommandType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub composite: Option<CheClusterDevEnvironmentsDefaultComponentsPluginCommandsComposite>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exec: Option<CheClusterDevEnvironmentsDefaultComponentsPluginCommandsExec>,
pub id: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginCommandsApply {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub component: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group: Option<CheClusterDevEnvironmentsDefaultComponentsPluginCommandsApplyGroup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginCommandsApplyGroup {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "isDefault")]
pub is_default: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<CheClusterDevEnvironmentsDefaultComponentsPluginCommandsApplyGroupKind>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsPluginCommandsApplyGroupKind {
#[serde(rename = "build")]
Build,
#[serde(rename = "run")]
Run,
#[serde(rename = "test")]
Test,
#[serde(rename = "debug")]
Debug,
#[serde(rename = "deploy")]
Deploy,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsPluginCommandsCommandType {
Exec,
Apply,
Composite,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginCommandsComposite {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub commands: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group: Option<CheClusterDevEnvironmentsDefaultComponentsPluginCommandsCompositeGroup>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parallel: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginCommandsCompositeGroup {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "isDefault")]
pub is_default: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<CheClusterDevEnvironmentsDefaultComponentsPluginCommandsCompositeGroupKind>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsPluginCommandsCompositeGroupKind {
#[serde(rename = "build")]
Build,
#[serde(rename = "run")]
Run,
#[serde(rename = "test")]
Test,
#[serde(rename = "debug")]
Debug,
#[serde(rename = "deploy")]
Deploy,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginCommandsExec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "commandLine")]
pub command_line: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub component: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<CheClusterDevEnvironmentsDefaultComponentsPluginCommandsExecEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group: Option<CheClusterDevEnvironmentsDefaultComponentsPluginCommandsExecGroup>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hotReloadCapable")]
pub hot_reload_capable: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workingDir")]
pub working_dir: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginCommandsExecEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginCommandsExecGroup {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "isDefault")]
pub is_default: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<CheClusterDevEnvironmentsDefaultComponentsPluginCommandsExecGroupKind>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsPluginCommandsExecGroupKind {
#[serde(rename = "build")]
Build,
#[serde(rename = "run")]
Run,
#[serde(rename = "test")]
Test,
#[serde(rename = "debug")]
Debug,
#[serde(rename = "deploy")]
Deploy,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginComponents {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attributes: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "componentType")]
pub component_type: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsComponentType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub container: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsContainer>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsImage>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kubernetes: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsKubernetes>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub openshift: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsOpenshift>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub volume: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsVolume>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsPluginComponentsComponentType {
Container,
Kubernetes,
Openshift,
Volume,
Image,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginComponentsContainer {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotation: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsContainerAnnotation>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub command: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cpuLimit")]
pub cpu_limit: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cpuRequest")]
pub cpu_request: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dedicatedPod")]
pub dedicated_pod: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoints: Option<Vec<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsContainerEndpoints>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsContainerEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "memoryLimit")]
pub memory_limit: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "memoryRequest")]
pub memory_request: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mountSources")]
pub mount_sources: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sourceMapping")]
pub source_mapping: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsContainerVolumeMounts>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginComponentsContainerAnnotation {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deployment: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginComponentsContainerEndpoints {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotation: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attributes: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exposure: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsContainerEndpointsExposure>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsContainerEndpointsProtocol>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetPort")]
pub target_port: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsPluginComponentsContainerEndpointsExposure {
#[serde(rename = "public")]
Public,
#[serde(rename = "internal")]
Internal,
#[serde(rename = "none")]
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsPluginComponentsContainerEndpointsProtocol {
#[serde(rename = "http")]
Http,
#[serde(rename = "https")]
Https,
#[serde(rename = "ws")]
Ws,
#[serde(rename = "wss")]
Wss,
#[serde(rename = "tcp")]
Tcp,
#[serde(rename = "udp")]
Udp,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginComponentsContainerEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginComponentsContainerVolumeMounts {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginComponentsImage {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "autoBuild")]
pub auto_build: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dockerfile: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsImageDockerfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imageName")]
pub image_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imageType")]
pub image_type: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsImageImageType>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginComponentsImageDockerfile {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub args: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "buildContext")]
pub build_context: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "devfileRegistry")]
pub devfile_registry: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsImageDockerfileDevfileRegistry>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub git: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsImageDockerfileGit>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rootRequired")]
pub root_required: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "srcType")]
pub src_type: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsImageDockerfileSrcType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uri: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginComponentsImageDockerfileDevfileRegistry {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "registryUrl")]
pub registry_url: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginComponentsImageDockerfileGit {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "checkoutFrom")]
pub checkout_from: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsImageDockerfileGitCheckoutFrom>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileLocation")]
pub file_location: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub remotes: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginComponentsImageDockerfileGitCheckoutFrom {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub remote: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub revision: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsPluginComponentsImageDockerfileSrcType {
Uri,
DevfileRegistry,
Git,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsPluginComponentsImageImageType {
Dockerfile,
AutoBuild,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginComponentsKubernetes {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "deployByDefault")]
pub deploy_by_default: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoints: Option<Vec<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsKubernetesEndpoints>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inlined: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "locationType")]
pub location_type: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsKubernetesLocationType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uri: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginComponentsKubernetesEndpoints {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotation: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attributes: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exposure: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsKubernetesEndpointsExposure>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsKubernetesEndpointsProtocol>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetPort")]
pub target_port: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsPluginComponentsKubernetesEndpointsExposure {
#[serde(rename = "public")]
Public,
#[serde(rename = "internal")]
Internal,
#[serde(rename = "none")]
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsPluginComponentsKubernetesEndpointsProtocol {
#[serde(rename = "http")]
Http,
#[serde(rename = "https")]
Https,
#[serde(rename = "ws")]
Ws,
#[serde(rename = "wss")]
Wss,
#[serde(rename = "tcp")]
Tcp,
#[serde(rename = "udp")]
Udp,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsPluginComponentsKubernetesLocationType {
Uri,
Inlined,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginComponentsOpenshift {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "deployByDefault")]
pub deploy_by_default: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoints: Option<Vec<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsOpenshiftEndpoints>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inlined: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "locationType")]
pub location_type: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsOpenshiftLocationType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uri: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginComponentsOpenshiftEndpoints {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotation: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attributes: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exposure: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsOpenshiftEndpointsExposure>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub protocol: Option<CheClusterDevEnvironmentsDefaultComponentsPluginComponentsOpenshiftEndpointsProtocol>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetPort")]
pub target_port: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsPluginComponentsOpenshiftEndpointsExposure {
#[serde(rename = "public")]
Public,
#[serde(rename = "internal")]
Internal,
#[serde(rename = "none")]
None,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsPluginComponentsOpenshiftEndpointsProtocol {
#[serde(rename = "http")]
Http,
#[serde(rename = "https")]
Https,
#[serde(rename = "ws")]
Ws,
#[serde(rename = "wss")]
Wss,
#[serde(rename = "tcp")]
Tcp,
#[serde(rename = "udp")]
Udp,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsPluginComponentsOpenshiftLocationType {
Uri,
Inlined,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginComponentsVolume {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ephemeral: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub size: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDefaultComponentsPluginImportReferenceType {
Uri,
Id,
Kubernetes,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsPluginKubernetes {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultComponentsVolume {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ephemeral: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub size: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultContainerResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<CheClusterDevEnvironmentsDefaultContainerResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultContainerResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultNamespace {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "autoProvision")]
pub auto_provision: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub template: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsDefaultPlugins {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub editor: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub plugins: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsDeploymentStrategy {
Recreate,
RollingUpdate,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsEditorsDownloadUrls {
pub editor: String,
pub url: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsGatewayContainer {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<CheClusterDevEnvironmentsGatewayContainerEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<CheClusterDevEnvironmentsGatewayContainerImagePullPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CheClusterDevEnvironmentsGatewayContainerResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsGatewayContainerEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<CheClusterDevEnvironmentsGatewayContainerEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsGatewayContainerEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<CheClusterDevEnvironmentsGatewayContainerEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<CheClusterDevEnvironmentsGatewayContainerEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<CheClusterDevEnvironmentsGatewayContainerEnvValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<CheClusterDevEnvironmentsGatewayContainerEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<CheClusterDevEnvironmentsGatewayContainerEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsGatewayContainerEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsGatewayContainerEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsGatewayContainerEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsGatewayContainerEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsGatewayContainerEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsGatewayContainerImagePullPolicy {
Always,
IfNotPresent,
Never,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsGatewayContainerResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<CheClusterDevEnvironmentsGatewayContainerResourcesLimits>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<CheClusterDevEnvironmentsGatewayContainerResourcesRequest>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsGatewayContainerResourcesLimits {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsGatewayContainerResourcesRequest {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsImagePullPolicy {
Always,
IfNotPresent,
Never,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsNetworking {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalTLSConfig")]
pub external_tls_config: Option<CheClusterDevEnvironmentsNetworkingExternalTlsConfig>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsNetworkingExternalTlsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsPersistUserHome {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disableInitContainer")]
pub disable_init_container: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsProjectCloneContainer {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<CheClusterDevEnvironmentsProjectCloneContainerEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<CheClusterDevEnvironmentsProjectCloneContainerImagePullPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CheClusterDevEnvironmentsProjectCloneContainerResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsProjectCloneContainerEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<CheClusterDevEnvironmentsProjectCloneContainerEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsProjectCloneContainerEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<CheClusterDevEnvironmentsProjectCloneContainerEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<CheClusterDevEnvironmentsProjectCloneContainerEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<CheClusterDevEnvironmentsProjectCloneContainerEnvValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<CheClusterDevEnvironmentsProjectCloneContainerEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<CheClusterDevEnvironmentsProjectCloneContainerEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsProjectCloneContainerEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsProjectCloneContainerEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsProjectCloneContainerEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsProjectCloneContainerEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsProjectCloneContainerEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsProjectCloneContainerImagePullPolicy {
Always,
IfNotPresent,
Never,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsProjectCloneContainerResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<CheClusterDevEnvironmentsProjectCloneContainerResourcesLimits>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<CheClusterDevEnvironmentsProjectCloneContainerResourcesRequest>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsProjectCloneContainerResourcesLimits {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsProjectCloneContainerResourcesRequest {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsSecurity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerSecurityContext")]
pub container_security_context: Option<CheClusterDevEnvironmentsSecurityContainerSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podSecurityContext")]
pub pod_security_context: Option<CheClusterDevEnvironmentsSecurityPodSecurityContext>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsSecurityContainerSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowPrivilegeEscalation")]
pub allow_privilege_escalation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<CheClusterDevEnvironmentsSecurityContainerSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<CheClusterDevEnvironmentsSecurityContainerSecurityContextCapabilities>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub privileged: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")]
pub proc_mount: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnlyRootFilesystem")]
pub read_only_root_filesystem: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<CheClusterDevEnvironmentsSecurityContainerSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<CheClusterDevEnvironmentsSecurityContainerSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<CheClusterDevEnvironmentsSecurityContainerSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsSecurityContainerSecurityContextAppArmorProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsSecurityContainerSecurityContextCapabilities {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub add: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub drop: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsSecurityContainerSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: 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")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsSecurityContainerSecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsSecurityContainerSecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsSecurityPodSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<CheClusterDevEnvironmentsSecurityPodSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroup")]
pub fs_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroupChangePolicy")]
pub fs_group_change_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsGroup")]
pub run_as_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsNonRoot")]
pub run_as_non_root: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxChangePolicy")]
pub se_linux_change_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seLinuxOptions")]
pub se_linux_options: Option<CheClusterDevEnvironmentsSecurityPodSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<CheClusterDevEnvironmentsSecurityPodSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "supplementalGroups")]
pub supplemental_groups: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "supplementalGroupsPolicy")]
pub supplemental_groups_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sysctls: Option<Vec<CheClusterDevEnvironmentsSecurityPodSecurityContextSysctls>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<CheClusterDevEnvironmentsSecurityPodSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsSecurityPodSecurityContextAppArmorProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsSecurityPodSecurityContextSeLinuxOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: 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")]
pub user: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsSecurityPodSecurityContextSeccompProfile {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "localhostProfile")]
pub localhost_profile: Option<String>,
#[serde(rename = "type")]
pub r#type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsSecurityPodSecurityContextSysctls {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsSecurityPodSecurityContextWindowsOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpec")]
pub gmsa_credential_spec: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gmsaCredentialSpecName")]
pub gmsa_credential_spec_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostProcess")]
pub host_process: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUserName")]
pub run_as_user_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsServiceAccountTokens {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audience: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "expirationSeconds")]
pub expiration_seconds: Option<i64>,
#[serde(rename = "mountPath")]
pub mount_path: String,
pub name: String,
pub path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsStorage {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "perUserStrategyPvcConfig")]
pub per_user_strategy_pvc_config: Option<CheClusterDevEnvironmentsStoragePerUserStrategyPvcConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "perWorkspaceStrategyPvcConfig")]
pub per_workspace_strategy_pvc_config: Option<CheClusterDevEnvironmentsStoragePerWorkspaceStrategyPvcConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pvcStrategy")]
pub pvc_strategy: Option<CheClusterDevEnvironmentsStoragePvcStrategy>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsStoragePerUserStrategyPvcConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "claimSize")]
pub claim_size: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageAccessMode")]
pub storage_access_mode: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClass")]
pub storage_class: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsStoragePerWorkspaceStrategyPvcConfig {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "claimSize")]
pub claim_size: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageAccessMode")]
pub storage_access_mode: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClass")]
pub storage_class: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterDevEnvironmentsStoragePvcStrategy {
#[serde(rename = "common")]
Common,
#[serde(rename = "per-user")]
PerUser,
#[serde(rename = "per-workspace")]
PerWorkspace,
#[serde(rename = "ephemeral")]
Ephemeral,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsTolerations {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub effect: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub operator: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")]
pub toleration_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsTrustedCerts {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disableWorkspaceCaBundleMount")]
pub disable_workspace_ca_bundle_mount: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gitTrustedCertsConfigMapName")]
pub git_trusted_certs_config_map_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterDevEnvironmentsUser {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterRoles")]
pub cluster_roles: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterGitServices {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub azure: Option<Vec<CheClusterGitServicesAzure>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bitbucket: Option<Vec<CheClusterGitServicesBitbucket>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub github: Option<Vec<CheClusterGitServicesGithub>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gitlab: Option<Vec<CheClusterGitServicesGitlab>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterGitServicesAzure {
#[serde(rename = "secretName")]
pub secret_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterGitServicesBitbucket {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint: Option<String>,
#[serde(rename = "secretName")]
pub secret_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterGitServicesGithub {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disableSubdomainIsolation")]
pub disable_subdomain_isolation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint: Option<String>,
#[serde(rename = "secretName")]
pub secret_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterGitServicesGitlab {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint: Option<String>,
#[serde(rename = "secretName")]
pub secret_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworking {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth: Option<CheClusterNetworkingAuth>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub domain: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hostname: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ingressClassName")]
pub ingress_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tlsSecretName")]
pub tls_secret_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuth {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "advancedAuthorization")]
pub advanced_authorization: Option<CheClusterNetworkingAuthAdvancedAuthorization>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gateway: Option<CheClusterNetworkingAuthGateway>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityProviderURL")]
pub identity_provider_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "identityToken")]
pub identity_token: Option<CheClusterNetworkingAuthIdentityToken>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "oAuthAccessTokenInactivityTimeoutSeconds")]
pub o_auth_access_token_inactivity_timeout_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "oAuthAccessTokenMaxAgeSeconds")]
pub o_auth_access_token_max_age_seconds: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "oAuthClientName")]
pub o_auth_client_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "oAuthScope")]
pub o_auth_scope: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "oAuthSecret")]
pub o_auth_secret: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthAdvancedAuthorization {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowGroups")]
pub allow_groups: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowUsers")]
pub allow_users: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "denyGroups")]
pub deny_groups: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "denyUsers")]
pub deny_users: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGateway {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configLabels")]
pub config_labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deployment: Option<CheClusterNetworkingAuthGatewayDeployment>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "kubeRbacProxy")]
pub kube_rbac_proxy: Option<CheClusterNetworkingAuthGatewayKubeRbacProxy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "oAuthProxy")]
pub o_auth_proxy: Option<CheClusterNetworkingAuthGatewayOAuthProxy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub traefik: Option<CheClusterNetworkingAuthGatewayTraefik>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGatewayDeployment {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub containers: Option<Vec<CheClusterNetworkingAuthGatewayDeploymentContainers>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")]
pub node_selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<CheClusterNetworkingAuthGatewayDeploymentSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tolerations: Option<Vec<CheClusterNetworkingAuthGatewayDeploymentTolerations>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGatewayDeploymentContainers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<CheClusterNetworkingAuthGatewayDeploymentContainersEnv>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullPolicy")]
pub image_pull_policy: Option<CheClusterNetworkingAuthGatewayDeploymentContainersImagePullPolicy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CheClusterNetworkingAuthGatewayDeploymentContainersResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGatewayDeploymentContainersEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<CheClusterNetworkingAuthGatewayDeploymentContainersEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGatewayDeploymentContainersEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<CheClusterNetworkingAuthGatewayDeploymentContainersEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<CheClusterNetworkingAuthGatewayDeploymentContainersEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fileKeyRef")]
pub file_key_ref: Option<CheClusterNetworkingAuthGatewayDeploymentContainersEnvValueFromFileKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<CheClusterNetworkingAuthGatewayDeploymentContainersEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<CheClusterNetworkingAuthGatewayDeploymentContainersEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGatewayDeploymentContainersEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGatewayDeploymentContainersEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGatewayDeploymentContainersEnvValueFromFileKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
pub path: String,
#[serde(rename = "volumeName")]
pub volume_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGatewayDeploymentContainersEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGatewayDeploymentContainersEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterNetworkingAuthGatewayDeploymentContainersImagePullPolicy {
Always,
IfNotPresent,
Never,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGatewayDeploymentContainersResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<CheClusterNetworkingAuthGatewayDeploymentContainersResourcesLimits>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<CheClusterNetworkingAuthGatewayDeploymentContainersResourcesRequest>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGatewayDeploymentContainersResourcesLimits {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGatewayDeploymentContainersResourcesRequest {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cpu: Option<IntOrString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<IntOrString>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGatewayDeploymentSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fsGroup")]
pub fs_group: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
pub run_as_user: Option<i64>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGatewayDeploymentTolerations {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub effect: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub operator: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")]
pub toleration_seconds: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGatewayKubeRbacProxy {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "logLevel")]
pub log_level: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGatewayOAuthProxy {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cookieExpireSeconds")]
pub cookie_expire_seconds: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterNetworkingAuthGatewayTraefik {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "logLevel")]
pub log_level: Option<CheClusterNetworkingAuthGatewayTraefikLogLevel>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterNetworkingAuthGatewayTraefikLogLevel {
#[serde(rename = "DEBUG")]
Debug,
#[serde(rename = "INFO")]
Info,
#[serde(rename = "WARN")]
Warn,
#[serde(rename = "ERROR")]
Error,
#[serde(rename = "FATAL")]
Fatal,
#[serde(rename = "PANIC")]
Panic,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CheClusterNetworkingAuthIdentityToken {
#[serde(rename = "id_token")]
IdToken,
#[serde(rename = "access_token")]
AccessToken,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CheClusterStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "chePhase")]
pub che_phase: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cheURL")]
pub che_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cheVersion")]
pub che_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "devfileRegistryURL")]
pub devfile_registry_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gatewayPhase")]
pub gateway_phase: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "pluginRegistryURL")]
pub plugin_registry_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reason: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "workspaceBaseDomain")]
pub workspace_base_domain: Option<String>,
}