#[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;
pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "operator.cryostat.io", version = "v1beta2", kind = "Cryostat", plural = "cryostats")]
#[kube(namespaced)]
#[kube(status = "CryostatStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct CryostatSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "agentOptions")]
pub agent_options: Option<CryostatAgentOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "authorizationOptions")]
pub authorization_options: Option<CryostatAuthorizationOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "automatedRules")]
pub automated_rules: Option<Vec<CryostatAutomatedRules>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "databaseOptions")]
pub database_options: Option<CryostatDatabaseOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "declarativeCredentials")]
pub declarative_credentials: Option<Vec<CryostatDeclarativeCredentials>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableCertManager")]
pub enable_cert_manager: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "eventTemplates")]
pub event_templates: Option<Vec<CryostatEventTemplates>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "networkOptions")]
pub network_options: Option<CryostatNetworkOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "networkPolicies")]
pub network_policies: Option<CryostatNetworkPolicies>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "objectStorageOptions")]
pub object_storage_options: Option<CryostatObjectStorageOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "operandMetadata")]
pub operand_metadata: Option<CryostatOperandMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "probeTemplates")]
pub probe_templates: Option<Vec<CryostatProbeTemplates>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "reportOptions")]
pub report_options: Option<CryostatReportOptions>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CryostatResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulingOptions")]
pub scheduling_options: Option<CryostatSchedulingOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityOptions")]
pub security_options: Option<CryostatSecurityOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceOptions")]
pub service_options: Option<CryostatServiceOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageOptions")]
pub storage_options: Option<CryostatStorageOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetConnectionCacheOptions")]
pub target_connection_cache_options: Option<CryostatTargetConnectionCacheOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetDiscoveryOptions")]
pub target_discovery_options: Option<CryostatTargetDiscoveryOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetNamespaces")]
pub target_namespaces: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "trustedCertSecrets")]
pub trusted_cert_secrets: Option<Vec<CryostatTrustedCertSecrets>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatAgentOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "allowInsecure")]
pub allow_insecure: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disableHostnameVerification")]
pub disable_hostname_verification: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CryostatAgentOptionsResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatAgentOptionsResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<CryostatAgentOptionsResourcesClaims>>,
#[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 CryostatAgentOptionsResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatAuthorizationOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "basicAuth")]
pub basic_auth: Option<CryostatAuthorizationOptionsBasicAuth>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "openShiftSSO")]
pub open_shift_sso: Option<CryostatAuthorizationOptionsOpenShiftSso>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatAuthorizationOptionsBasicAuth {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub filename: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")]
pub secret_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatAuthorizationOptionsOpenShiftSso {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessReview")]
pub access_review: Option<CryostatAuthorizationOptionsOpenShiftSsoAccessReview>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub disable: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatAuthorizationOptionsOpenShiftSsoAccessReview {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldSelector")]
pub field_selector: Option<CryostatAuthorizationOptionsOpenShiftSsoAccessReviewFieldSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<CryostatAuthorizationOptionsOpenShiftSsoAccessReviewLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subresource: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub verb: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatAuthorizationOptionsOpenShiftSsoAccessReviewFieldSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rawSelector")]
pub raw_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requirements: Option<Vec<CryostatAuthorizationOptionsOpenShiftSsoAccessReviewFieldSelectorRequirements>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatAuthorizationOptionsOpenShiftSsoAccessReviewFieldSelectorRequirements {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatAuthorizationOptionsOpenShiftSsoAccessReviewLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "rawSelector")]
pub raw_selector: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requirements: Option<Vec<CryostatAuthorizationOptionsOpenShiftSsoAccessReviewLabelSelectorRequirements>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatAuthorizationOptionsOpenShiftSsoAccessReviewLabelSelectorRequirements {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatAutomatedRules {
#[serde(rename = "configMapName")]
pub config_map_name: String,
pub filename: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatDatabaseOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")]
pub secret_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatDeclarativeCredentials {
#[serde(rename = "secretName")]
pub secret_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatEventTemplates {
#[serde(rename = "configMapName")]
pub config_map_name: String,
pub filename: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "coreConfig")]
pub core_config: Option<CryostatNetworkOptionsCoreConfig>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkOptionsCoreConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalHost")]
pub external_host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ingressSpec")]
pub ingress_spec: Option<CryostatNetworkOptionsCoreConfigIngressSpec>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkOptionsCoreConfigIngressSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultBackend")]
pub default_backend: Option<CryostatNetworkOptionsCoreConfigIngressSpecDefaultBackend>,
#[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 rules: Option<Vec<CryostatNetworkOptionsCoreConfigIngressSpecRules>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tls: Option<Vec<CryostatNetworkOptionsCoreConfigIngressSpecTls>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkOptionsCoreConfigIngressSpecDefaultBackend {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource: Option<CryostatNetworkOptionsCoreConfigIngressSpecDefaultBackendResource>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<CryostatNetworkOptionsCoreConfigIngressSpecDefaultBackendService>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkOptionsCoreConfigIngressSpecDefaultBackendResource {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkOptionsCoreConfigIngressSpecDefaultBackendService {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<CryostatNetworkOptionsCoreConfigIngressSpecDefaultBackendServicePort>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkOptionsCoreConfigIngressSpecDefaultBackendServicePort {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub number: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkOptionsCoreConfigIngressSpecRules {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub http: Option<CryostatNetworkOptionsCoreConfigIngressSpecRulesHttp>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkOptionsCoreConfigIngressSpecRulesHttp {
pub paths: Vec<CryostatNetworkOptionsCoreConfigIngressSpecRulesHttpPaths>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkOptionsCoreConfigIngressSpecRulesHttpPaths {
pub backend: CryostatNetworkOptionsCoreConfigIngressSpecRulesHttpPathsBackend,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(rename = "pathType")]
pub path_type: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkOptionsCoreConfigIngressSpecRulesHttpPathsBackend {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource: Option<CryostatNetworkOptionsCoreConfigIngressSpecRulesHttpPathsBackendResource>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<CryostatNetworkOptionsCoreConfigIngressSpecRulesHttpPathsBackendService>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkOptionsCoreConfigIngressSpecRulesHttpPathsBackendResource {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkOptionsCoreConfigIngressSpecRulesHttpPathsBackendService {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<CryostatNetworkOptionsCoreConfigIngressSpecRulesHttpPathsBackendServicePort>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkOptionsCoreConfigIngressSpecRulesHttpPathsBackendServicePort {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub number: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkOptionsCoreConfigIngressSpecTls {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hosts: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")]
pub secret_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkPolicies {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "coreConfig")]
pub core_config: Option<CryostatNetworkPoliciesCoreConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "databaseConfig")]
pub database_config: Option<CryostatNetworkPoliciesDatabaseConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "reportsConfig")]
pub reports_config: Option<CryostatNetworkPoliciesReportsConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageConfig")]
pub storage_config: Option<CryostatNetworkPoliciesStorageConfig>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkPoliciesCoreConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub disabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "egressEnabled")]
pub egress_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ingressDisabled")]
pub ingress_disabled: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkPoliciesDatabaseConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub disabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "egressEnabled")]
pub egress_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ingressDisabled")]
pub ingress_disabled: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkPoliciesReportsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub disabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "egressEnabled")]
pub egress_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ingressDisabled")]
pub ingress_disabled: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatNetworkPoliciesStorageConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub disabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "egressEnabled")]
pub egress_enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ingressDisabled")]
pub ingress_disabled: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatObjectStorageOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub provider: Option<CryostatObjectStorageOptionsProvider>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")]
pub secret_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageBucketNameOptions")]
pub storage_bucket_name_options: Option<CryostatObjectStorageOptionsStorageBucketNameOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatObjectStorageOptionsProvider {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disablePresignedDownloads")]
pub disable_presigned_downloads: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disablePresignedFileTransfers")]
pub disable_presigned_file_transfers: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "metadataMode")]
pub metadata_mode: Option<CryostatObjectStorageOptionsProviderMetadataMode>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tlsTrustAll")]
pub tls_trust_all: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "useVirtualHostAccess")]
pub use_virtual_host_access: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum CryostatObjectStorageOptionsProviderMetadataMode {
#[serde(rename = "tagging")]
Tagging,
#[serde(rename = "metadata")]
Metadata,
#[serde(rename = "bucket")]
Bucket,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatObjectStorageOptionsStorageBucketNameOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "archivedRecordings")]
pub archived_recordings: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "archivedReports")]
pub archived_reports: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "eventTemplates")]
pub event_templates: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "heapDumps")]
pub heap_dumps: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "jmcAgentProbeTemplates")]
pub jmc_agent_probe_templates: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "threadDumps")]
pub thread_dumps: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatOperandMetadata {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "deploymentMetadata")]
pub deployment_metadata: Option<CryostatOperandMetadataDeploymentMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podMetadata")]
pub pod_metadata: Option<CryostatOperandMetadataPodMetadata>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatOperandMetadataDeploymentMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatOperandMetadataPodMetadata {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatProbeTemplates {
#[serde(rename = "configMapName")]
pub config_map_name: String,
pub filename: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub replicas: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CryostatReportOptionsResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulingOptions")]
pub scheduling_options: Option<CryostatReportOptionsSchedulingOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityOptions")]
pub security_options: Option<CryostatReportOptionsSecurityOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subProcessMaxHeapSize")]
pub sub_process_max_heap_size: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<CryostatReportOptionsResourcesClaims>>,
#[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 CryostatReportOptionsResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<CryostatReportOptionsSchedulingOptionsAffinity>,
#[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")]
pub tolerations: Option<Vec<CryostatReportOptionsSchedulingOptionsTolerations>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")]
pub node_affinity: Option<CryostatReportOptionsSchedulingOptionsAffinityNodeAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAffinity")]
pub pod_affinity: Option<CryostatReportOptionsSchedulingOptionsAffinityPodAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")]
pub pod_anti_affinity: Option<CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinity>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityNodeAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<CryostatReportOptionsSchedulingOptionsAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<CryostatReportOptionsSchedulingOptionsAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution {
pub preference: CryostatReportOptionsSchedulingOptionsAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatReportOptionsSchedulingOptionsAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<CryostatReportOptionsSchedulingOptionsAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "nodeSelectorTerms")]
pub node_selector_terms: Vec<CryostatReportOptionsSchedulingOptionsAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatReportOptionsSchedulingOptionsAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<CryostatReportOptionsSchedulingOptionsAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<CryostatReportOptionsSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<CryostatReportOptionsSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: CryostatReportOptionsSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<CryostatReportOptionsSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<CryostatReportOptionsSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatReportOptionsSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatReportOptionsSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<CryostatReportOptionsSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<CryostatReportOptionsSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatReportOptionsSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatReportOptionsSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSchedulingOptionsTolerations {
#[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 CryostatReportOptionsSecurityOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podSecurityContext")]
pub pod_security_context: Option<CryostatReportOptionsSecurityOptionsPodSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "reportsSecurityContext")]
pub reports_security_context: Option<CryostatReportOptionsSecurityOptionsReportsSecurityContext>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSecurityOptionsPodSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<CryostatReportOptionsSecurityOptionsPodSecurityContextAppArmorProfile>,
#[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 = "seLinuxOptions")]
pub se_linux_options: Option<CryostatReportOptionsSecurityOptionsPodSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<CryostatReportOptionsSecurityOptionsPodSecurityContextSeccompProfile>,
#[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<CryostatReportOptionsSecurityOptionsPodSecurityContextSysctls>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<CryostatReportOptionsSecurityOptionsPodSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSecurityOptionsPodSecurityContextAppArmorProfile {
#[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 CryostatReportOptionsSecurityOptionsPodSecurityContextSeLinuxOptions {
#[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 CryostatReportOptionsSecurityOptionsPodSecurityContextSeccompProfile {
#[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 CryostatReportOptionsSecurityOptionsPodSecurityContextSysctls {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSecurityOptionsPodSecurityContextWindowsOptions {
#[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 CryostatReportOptionsSecurityOptionsReportsSecurityContext {
#[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<CryostatReportOptionsSecurityOptionsReportsSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<CryostatReportOptionsSecurityOptionsReportsSecurityContextCapabilities>,
#[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<CryostatReportOptionsSecurityOptionsReportsSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<CryostatReportOptionsSecurityOptionsReportsSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<CryostatReportOptionsSecurityOptionsReportsSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatReportOptionsSecurityOptionsReportsSecurityContextAppArmorProfile {
#[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 CryostatReportOptionsSecurityOptionsReportsSecurityContextCapabilities {
#[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 CryostatReportOptionsSecurityOptionsReportsSecurityContextSeLinuxOptions {
#[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 CryostatReportOptionsSecurityOptionsReportsSecurityContextSeccompProfile {
#[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 CryostatReportOptionsSecurityOptionsReportsSecurityContextWindowsOptions {
#[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 CryostatResources {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "agentProxyResources")]
pub agent_proxy_resources: Option<CryostatResourcesAgentProxyResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "authProxyResources")]
pub auth_proxy_resources: Option<CryostatResourcesAuthProxyResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "coreResources")]
pub core_resources: Option<CryostatResourcesCoreResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceResources")]
pub data_source_resources: Option<CryostatResourcesDataSourceResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "databaseResources")]
pub database_resources: Option<CryostatResourcesDatabaseResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "grafanaResources")]
pub grafana_resources: Option<CryostatResourcesGrafanaResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "objectStorageResources")]
pub object_storage_resources: Option<CryostatResourcesObjectStorageResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatResourcesAgentProxyResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<CryostatResourcesAgentProxyResourcesClaims>>,
#[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 CryostatResourcesAgentProxyResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatResourcesAuthProxyResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<CryostatResourcesAuthProxyResourcesClaims>>,
#[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 CryostatResourcesAuthProxyResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatResourcesCoreResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<CryostatResourcesCoreResourcesClaims>>,
#[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 CryostatResourcesCoreResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatResourcesDataSourceResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<CryostatResourcesDataSourceResourcesClaims>>,
#[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 CryostatResourcesDataSourceResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatResourcesDatabaseResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<CryostatResourcesDatabaseResourcesClaims>>,
#[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 CryostatResourcesDatabaseResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatResourcesGrafanaResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<CryostatResourcesGrafanaResourcesClaims>>,
#[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 CryostatResourcesGrafanaResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatResourcesObjectStorageResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<CryostatResourcesObjectStorageResourcesClaims>>,
#[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 CryostatResourcesObjectStorageResourcesClaims {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub request: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<CryostatSchedulingOptionsAffinity>,
#[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")]
pub tolerations: Option<Vec<CryostatSchedulingOptionsTolerations>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")]
pub node_affinity: Option<CryostatSchedulingOptionsAffinityNodeAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAffinity")]
pub pod_affinity: Option<CryostatSchedulingOptionsAffinityPodAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")]
pub pod_anti_affinity: Option<CryostatSchedulingOptionsAffinityPodAntiAffinity>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityNodeAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<CryostatSchedulingOptionsAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<CryostatSchedulingOptionsAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution {
pub preference: CryostatSchedulingOptionsAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatSchedulingOptionsAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<CryostatSchedulingOptionsAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "nodeSelectorTerms")]
pub node_selector_terms: Vec<CryostatSchedulingOptionsAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatSchedulingOptionsAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<CryostatSchedulingOptionsAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<CryostatSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<CryostatSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: CryostatSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<CryostatSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<CryostatSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<CryostatSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<CryostatSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAntiAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<CryostatSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<CryostatSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: CryostatSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<CryostatSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<CryostatSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<CryostatSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabelKeys")]
pub match_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mismatchLabelKeys")]
pub mismatch_label_keys: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "namespaceSelector")]
pub namespace_selector: Option<CryostatSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
#[serde(rename = "topologyKey")]
pub topology_key: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSchedulingOptionsTolerations {
#[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 CryostatSecurityOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "agentProxySecurityContext")]
pub agent_proxy_security_context: Option<CryostatSecurityOptionsAgentProxySecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "authProxySecurityContext")]
pub auth_proxy_security_context: Option<CryostatSecurityOptionsAuthProxySecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "coreSecurityContext")]
pub core_security_context: Option<CryostatSecurityOptionsCoreSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceSecurityContext")]
pub data_source_security_context: Option<CryostatSecurityOptionsDataSourceSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "databaseSecurityContext")]
pub database_security_context: Option<CryostatSecurityOptionsDatabaseSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "grafanaSecurityContext")]
pub grafana_security_context: Option<CryostatSecurityOptionsGrafanaSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podSecurityContext")]
pub pod_security_context: Option<CryostatSecurityOptionsPodSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageSecurityContext")]
pub storage_security_context: Option<CryostatSecurityOptionsStorageSecurityContext>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSecurityOptionsAgentProxySecurityContext {
#[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<CryostatSecurityOptionsAgentProxySecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<CryostatSecurityOptionsAgentProxySecurityContextCapabilities>,
#[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<CryostatSecurityOptionsAgentProxySecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<CryostatSecurityOptionsAgentProxySecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<CryostatSecurityOptionsAgentProxySecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSecurityOptionsAgentProxySecurityContextAppArmorProfile {
#[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 CryostatSecurityOptionsAgentProxySecurityContextCapabilities {
#[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 CryostatSecurityOptionsAgentProxySecurityContextSeLinuxOptions {
#[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 CryostatSecurityOptionsAgentProxySecurityContextSeccompProfile {
#[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 CryostatSecurityOptionsAgentProxySecurityContextWindowsOptions {
#[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 CryostatSecurityOptionsAuthProxySecurityContext {
#[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<CryostatSecurityOptionsAuthProxySecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<CryostatSecurityOptionsAuthProxySecurityContextCapabilities>,
#[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<CryostatSecurityOptionsAuthProxySecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<CryostatSecurityOptionsAuthProxySecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<CryostatSecurityOptionsAuthProxySecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSecurityOptionsAuthProxySecurityContextAppArmorProfile {
#[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 CryostatSecurityOptionsAuthProxySecurityContextCapabilities {
#[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 CryostatSecurityOptionsAuthProxySecurityContextSeLinuxOptions {
#[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 CryostatSecurityOptionsAuthProxySecurityContextSeccompProfile {
#[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 CryostatSecurityOptionsAuthProxySecurityContextWindowsOptions {
#[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 CryostatSecurityOptionsCoreSecurityContext {
#[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<CryostatSecurityOptionsCoreSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<CryostatSecurityOptionsCoreSecurityContextCapabilities>,
#[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<CryostatSecurityOptionsCoreSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<CryostatSecurityOptionsCoreSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<CryostatSecurityOptionsCoreSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSecurityOptionsCoreSecurityContextAppArmorProfile {
#[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 CryostatSecurityOptionsCoreSecurityContextCapabilities {
#[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 CryostatSecurityOptionsCoreSecurityContextSeLinuxOptions {
#[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 CryostatSecurityOptionsCoreSecurityContextSeccompProfile {
#[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 CryostatSecurityOptionsCoreSecurityContextWindowsOptions {
#[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 CryostatSecurityOptionsDataSourceSecurityContext {
#[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<CryostatSecurityOptionsDataSourceSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<CryostatSecurityOptionsDataSourceSecurityContextCapabilities>,
#[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<CryostatSecurityOptionsDataSourceSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<CryostatSecurityOptionsDataSourceSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<CryostatSecurityOptionsDataSourceSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSecurityOptionsDataSourceSecurityContextAppArmorProfile {
#[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 CryostatSecurityOptionsDataSourceSecurityContextCapabilities {
#[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 CryostatSecurityOptionsDataSourceSecurityContextSeLinuxOptions {
#[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 CryostatSecurityOptionsDataSourceSecurityContextSeccompProfile {
#[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 CryostatSecurityOptionsDataSourceSecurityContextWindowsOptions {
#[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 CryostatSecurityOptionsDatabaseSecurityContext {
#[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<CryostatSecurityOptionsDatabaseSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<CryostatSecurityOptionsDatabaseSecurityContextCapabilities>,
#[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<CryostatSecurityOptionsDatabaseSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<CryostatSecurityOptionsDatabaseSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<CryostatSecurityOptionsDatabaseSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSecurityOptionsDatabaseSecurityContextAppArmorProfile {
#[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 CryostatSecurityOptionsDatabaseSecurityContextCapabilities {
#[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 CryostatSecurityOptionsDatabaseSecurityContextSeLinuxOptions {
#[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 CryostatSecurityOptionsDatabaseSecurityContextSeccompProfile {
#[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 CryostatSecurityOptionsDatabaseSecurityContextWindowsOptions {
#[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 CryostatSecurityOptionsGrafanaSecurityContext {
#[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<CryostatSecurityOptionsGrafanaSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<CryostatSecurityOptionsGrafanaSecurityContextCapabilities>,
#[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<CryostatSecurityOptionsGrafanaSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<CryostatSecurityOptionsGrafanaSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<CryostatSecurityOptionsGrafanaSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSecurityOptionsGrafanaSecurityContextAppArmorProfile {
#[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 CryostatSecurityOptionsGrafanaSecurityContextCapabilities {
#[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 CryostatSecurityOptionsGrafanaSecurityContextSeLinuxOptions {
#[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 CryostatSecurityOptionsGrafanaSecurityContextSeccompProfile {
#[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 CryostatSecurityOptionsGrafanaSecurityContextWindowsOptions {
#[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 CryostatSecurityOptionsPodSecurityContext {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appArmorProfile")]
pub app_armor_profile: Option<CryostatSecurityOptionsPodSecurityContextAppArmorProfile>,
#[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 = "seLinuxOptions")]
pub se_linux_options: Option<CryostatSecurityOptionsPodSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<CryostatSecurityOptionsPodSecurityContextSeccompProfile>,
#[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<CryostatSecurityOptionsPodSecurityContextSysctls>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<CryostatSecurityOptionsPodSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSecurityOptionsPodSecurityContextAppArmorProfile {
#[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 CryostatSecurityOptionsPodSecurityContextSeLinuxOptions {
#[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 CryostatSecurityOptionsPodSecurityContextSeccompProfile {
#[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 CryostatSecurityOptionsPodSecurityContextSysctls {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSecurityOptionsPodSecurityContextWindowsOptions {
#[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 CryostatSecurityOptionsStorageSecurityContext {
#[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<CryostatSecurityOptionsStorageSecurityContextAppArmorProfile>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<CryostatSecurityOptionsStorageSecurityContextCapabilities>,
#[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<CryostatSecurityOptionsStorageSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<CryostatSecurityOptionsStorageSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "windowsOptions")]
pub windows_options: Option<CryostatSecurityOptionsStorageSecurityContextWindowsOptions>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatSecurityOptionsStorageSecurityContextAppArmorProfile {
#[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 CryostatSecurityOptionsStorageSecurityContextCapabilities {
#[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 CryostatSecurityOptionsStorageSecurityContextSeLinuxOptions {
#[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 CryostatSecurityOptionsStorageSecurityContextSeccompProfile {
#[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 CryostatSecurityOptionsStorageSecurityContextWindowsOptions {
#[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 CryostatServiceOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "agentCallbackConfig")]
pub agent_callback_config: Option<CryostatServiceOptionsAgentCallbackConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "agentGatewayConfig")]
pub agent_gateway_config: Option<CryostatServiceOptionsAgentGatewayConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "coreConfig")]
pub core_config: Option<CryostatServiceOptionsCoreConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "databaseConfig")]
pub database_config: Option<CryostatServiceOptionsDatabaseConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "reportsConfig")]
pub reports_config: Option<CryostatServiceOptionsReportsConfig>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageConfig")]
pub storage_config: Option<CryostatServiceOptionsStorageConfig>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatServiceOptionsAgentCallbackConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatServiceOptionsAgentGatewayConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpPort")]
pub http_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceType")]
pub service_type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatServiceOptionsCoreConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpPort")]
pub http_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceType")]
pub service_type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatServiceOptionsDatabaseConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "databasePort")]
pub database_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceType")]
pub service_type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatServiceOptionsReportsConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpPort")]
pub http_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceType")]
pub service_type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatServiceOptionsStorageConfig {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "httpPort")]
pub http_port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceType")]
pub service_type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptions {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub database: Option<CryostatStorageOptionsDatabase>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "emptyDir")]
pub empty_dir: Option<CryostatStorageOptionsEmptyDir>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "objectStorage")]
pub object_storage: Option<CryostatStorageOptionsObjectStorage>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pvc: Option<CryostatStorageOptionsPvc>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsDatabase {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "emptyDir")]
pub empty_dir: Option<CryostatStorageOptionsDatabaseEmptyDir>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pvc: Option<CryostatStorageOptionsDatabasePvc>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsDatabaseEmptyDir {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub medium: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sizeLimit")]
pub size_limit: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsDatabasePvc {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub spec: Option<CryostatStorageOptionsDatabasePvcSpec>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsDatabasePvcSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")]
pub access_modes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")]
pub data_source: Option<CryostatStorageOptionsDatabasePvcSpecDataSource>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")]
pub data_source_ref: Option<CryostatStorageOptionsDatabasePvcSpecDataSourceRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CryostatStorageOptionsDatabasePvcSpecResources>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<CryostatStorageOptionsDatabasePvcSpecSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")]
pub storage_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributesClassName")]
pub volume_attributes_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMode")]
pub volume_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")]
pub volume_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsDatabasePvcSpecDataSource {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsDatabasePvcSpecDataSourceRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsDatabasePvcSpecResources {
#[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 CryostatStorageOptionsDatabasePvcSpecSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatStorageOptionsDatabasePvcSpecSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsDatabasePvcSpecSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsEmptyDir {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub medium: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sizeLimit")]
pub size_limit: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsObjectStorage {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "emptyDir")]
pub empty_dir: Option<CryostatStorageOptionsObjectStorageEmptyDir>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pvc: Option<CryostatStorageOptionsObjectStoragePvc>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsObjectStorageEmptyDir {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub medium: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sizeLimit")]
pub size_limit: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsObjectStoragePvc {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub spec: Option<CryostatStorageOptionsObjectStoragePvcSpec>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsObjectStoragePvcSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")]
pub access_modes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")]
pub data_source: Option<CryostatStorageOptionsObjectStoragePvcSpecDataSource>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")]
pub data_source_ref: Option<CryostatStorageOptionsObjectStoragePvcSpecDataSourceRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CryostatStorageOptionsObjectStoragePvcSpecResources>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<CryostatStorageOptionsObjectStoragePvcSpecSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")]
pub storage_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributesClassName")]
pub volume_attributes_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMode")]
pub volume_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")]
pub volume_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsObjectStoragePvcSpecDataSource {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsObjectStoragePvcSpecDataSourceRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsObjectStoragePvcSpecResources {
#[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 CryostatStorageOptionsObjectStoragePvcSpecSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatStorageOptionsObjectStoragePvcSpecSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsObjectStoragePvcSpecSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsPvc {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub annotations: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub spec: Option<CryostatStorageOptionsPvcSpec>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsPvcSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")]
pub access_modes: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")]
pub data_source: Option<CryostatStorageOptionsPvcSpecDataSource>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")]
pub data_source_ref: Option<CryostatStorageOptionsPvcSpecDataSourceRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<CryostatStorageOptionsPvcSpecResources>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<CryostatStorageOptionsPvcSpecSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")]
pub storage_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributesClassName")]
pub volume_attributes_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMode")]
pub volume_mode: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")]
pub volume_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsPvcSpecDataSource {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsPvcSpecDataSourceRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")]
pub api_group: Option<String>,
pub kind: String,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsPvcSpecResources {
#[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 CryostatStorageOptionsPvcSpecSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<CryostatStorageOptionsPvcSpecSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStorageOptionsPvcSpecSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatTargetConnectionCacheOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetCacheSize")]
pub target_cache_size: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetCacheTTL")]
pub target_cache_ttl: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatTargetDiscoveryOptions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disableBuiltInDiscovery")]
pub disable_built_in_discovery: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disableBuiltInPortNames")]
pub disable_built_in_port_names: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disableBuiltInPortNumbers")]
pub disable_built_in_port_numbers: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "discoveryPortNames")]
pub discovery_port_names: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "discoveryPortNumbers")]
pub discovery_port_numbers: Option<Vec<i64>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatTrustedCertSecrets {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "certificateKey")]
pub certificate_key: Option<String>,
#[serde(rename = "secretName")]
pub secret_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CryostatStatus {
#[serde(rename = "applicationUrl")]
pub application_url: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "databaseSecret")]
pub database_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageSecret")]
pub storage_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetNamespaces")]
pub target_namespaces: Option<Vec<String>>,
}