#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
pub use std::collections::BTreeMap;
pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "cert-manager.io", version = "v1", kind = "ClusterIssuer", plural = "clusterissuers")]
#[kube(status = "ClusterIssuerStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct ClusterIssuerSpec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub acme: Option<ClusterIssuerAcme>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ca: Option<ClusterIssuerCa>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "selfSigned")]
pub self_signed: Option<ClusterIssuerSelfSigned>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub vault: Option<ClusterIssuerVault>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub venafi: Option<ClusterIssuerVenafi>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcme {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caBundle")]
pub ca_bundle: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "disableAccountKeyGeneration")]
pub disable_account_key_generation: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "enableDurationFeature")]
pub enable_duration_feature: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "externalAccountBinding")]
pub external_account_binding: Option<ClusterIssuerAcmeExternalAccountBinding>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredChain")]
pub preferred_chain: Option<String>,
#[serde(rename = "privateKeySecretRef")]
pub private_key_secret_ref: ClusterIssuerAcmePrivateKeySecretRef,
pub server: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "skipTLSVerify")]
pub skip_tls_verify: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub solvers: Option<Vec<ClusterIssuerAcmeSolvers>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeExternalAccountBinding {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "keyAlgorithm")]
pub key_algorithm: Option<ClusterIssuerAcmeExternalAccountBindingKeyAlgorithm>,
#[serde(rename = "keyID")]
pub key_id: String,
#[serde(rename = "keySecretRef")]
pub key_secret_ref: ClusterIssuerAcmeExternalAccountBindingKeySecretRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterIssuerAcmeExternalAccountBindingKeyAlgorithm {
#[serde(rename = "HS256")]
Hs256,
#[serde(rename = "HS384")]
Hs384,
#[serde(rename = "HS512")]
Hs512,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeExternalAccountBindingKeySecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmePrivateKeySecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolvers {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dns01: Option<ClusterIssuerAcmeSolversDns01>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub http01: Option<ClusterIssuerAcmeSolversHttp01>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<ClusterIssuerAcmeSolversSelector>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01 {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "acmeDNS")]
pub acme_dns: Option<ClusterIssuerAcmeSolversDns01AcmeDns>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub akamai: Option<ClusterIssuerAcmeSolversDns01Akamai>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "azureDNS")]
pub azure_dns: Option<ClusterIssuerAcmeSolversDns01AzureDns>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cloudDNS")]
pub cloud_dns: Option<ClusterIssuerAcmeSolversDns01CloudDns>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cloudflare: Option<ClusterIssuerAcmeSolversDns01Cloudflare>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "cnameStrategy")]
pub cname_strategy: Option<ClusterIssuerAcmeSolversDns01CnameStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub digitalocean: Option<ClusterIssuerAcmeSolversDns01Digitalocean>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rfc2136: Option<ClusterIssuerAcmeSolversDns01Rfc2136>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub route53: Option<ClusterIssuerAcmeSolversDns01Route53>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub webhook: Option<ClusterIssuerAcmeSolversDns01Webhook>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01AcmeDns {
#[serde(rename = "accountSecretRef")]
pub account_secret_ref: ClusterIssuerAcmeSolversDns01AcmeDnsAccountSecretRef,
pub host: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01AcmeDnsAccountSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01Akamai {
#[serde(rename = "accessTokenSecretRef")]
pub access_token_secret_ref: ClusterIssuerAcmeSolversDns01AkamaiAccessTokenSecretRef,
#[serde(rename = "clientSecretSecretRef")]
pub client_secret_secret_ref: ClusterIssuerAcmeSolversDns01AkamaiClientSecretSecretRef,
#[serde(rename = "clientTokenSecretRef")]
pub client_token_secret_ref: ClusterIssuerAcmeSolversDns01AkamaiClientTokenSecretRef,
#[serde(rename = "serviceConsumerDomain")]
pub service_consumer_domain: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01AkamaiAccessTokenSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01AkamaiClientSecretSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01AkamaiClientTokenSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01AzureDns {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientID")]
pub client_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientSecretSecretRef")]
pub client_secret_secret_ref: Option<ClusterIssuerAcmeSolversDns01AzureDnsClientSecretSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub environment: Option<ClusterIssuerAcmeSolversDns01AzureDnsEnvironment>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostedZoneName")]
pub hosted_zone_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "managedIdentity")]
pub managed_identity: Option<ClusterIssuerAcmeSolversDns01AzureDnsManagedIdentity>,
#[serde(rename = "resourceGroupName")]
pub resource_group_name: String,
#[serde(rename = "subscriptionID")]
pub subscription_id: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tenantID")]
pub tenant_id: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01AzureDnsClientSecretSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterIssuerAcmeSolversDns01AzureDnsEnvironment {
AzurePublicCloud,
AzureChinaCloud,
AzureGermanCloud,
#[serde(rename = "AzureUSGovernmentCloud")]
AzureUsGovernmentCloud,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01AzureDnsManagedIdentity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientID")]
pub client_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceID")]
pub resource_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tenantID")]
pub tenant_id: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01CloudDns {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostedZoneName")]
pub hosted_zone_name: Option<String>,
pub project: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountSecretRef")]
pub service_account_secret_ref: Option<ClusterIssuerAcmeSolversDns01CloudDnsServiceAccountSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01CloudDnsServiceAccountSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01Cloudflare {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiKeySecretRef")]
pub api_key_secret_ref: Option<ClusterIssuerAcmeSolversDns01CloudflareApiKeySecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiTokenSecretRef")]
pub api_token_secret_ref: Option<ClusterIssuerAcmeSolversDns01CloudflareApiTokenSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01CloudflareApiKeySecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01CloudflareApiTokenSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ClusterIssuerAcmeSolversDns01CnameStrategy {
None,
Follow,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01Digitalocean {
#[serde(rename = "tokenSecretRef")]
pub token_secret_ref: ClusterIssuerAcmeSolversDns01DigitaloceanTokenSecretRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01DigitaloceanTokenSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01Rfc2136 {
pub nameserver: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tsigAlgorithm")]
pub tsig_algorithm: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tsigKeyName")]
pub tsig_key_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tsigSecretSecretRef")]
pub tsig_secret_secret_ref: Option<ClusterIssuerAcmeSolversDns01Rfc2136TsigSecretSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01Rfc2136TsigSecretSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01Route53 {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessKeyID")]
pub access_key_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "accessKeyIDSecretRef")]
pub access_key_id_secret_ref: Option<ClusterIssuerAcmeSolversDns01Route53AccessKeyIdSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub auth: Option<ClusterIssuerAcmeSolversDns01Route53Auth>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostedZoneID")]
pub hosted_zone_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretAccessKeySecretRef")]
pub secret_access_key_secret_ref: Option<ClusterIssuerAcmeSolversDns01Route53SecretAccessKeySecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01Route53AccessKeyIdSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01Route53Auth {
pub kubernetes: ClusterIssuerAcmeSolversDns01Route53AuthKubernetes,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01Route53AuthKubernetes {
#[serde(rename = "serviceAccountRef")]
pub service_account_ref: ClusterIssuerAcmeSolversDns01Route53AuthKubernetesServiceAccountRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01Route53AuthKubernetesServiceAccountRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audiences: Option<Vec<String>>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01Route53SecretAccessKeySecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversDns01Webhook {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub config: Option<serde_json::Value>,
#[serde(rename = "groupName")]
pub group_name: String,
#[serde(rename = "solverName")]
pub solver_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01 {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gatewayHTTPRoute")]
pub gateway_http_route: Option<ClusterIssuerAcmeSolversHttp01GatewayHttpRoute>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ingress: Option<ClusterIssuerAcmeSolversHttp01Ingress>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRoute {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "parentRefs")]
pub parent_refs: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRouteParentRefs>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podTemplate")]
pub pod_template: Option<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplate>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceType")]
pub service_type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRouteParentRefs {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub group: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "sectionName")]
pub section_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub spec: Option<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpec>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateMetadata {
#[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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullSecrets")]
pub image_pull_secrets: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecImagePullSecrets>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")]
pub node_selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "priorityClassName")]
pub priority_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountName")]
pub service_account_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tolerations: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecTolerations>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")]
pub node_affinity: Option<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAffinity")]
pub pod_affinity: Option<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")]
pub pod_anti_affinity: Option<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinity>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution {
pub preference: ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields {
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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "nodeSelectorTerms")]
pub node_selector_terms: Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields {
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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[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<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[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<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[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<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[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<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecImagePullSecrets {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecSecurityContext {
#[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<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "supplementalGroups")]
pub supplemental_groups: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sysctls: Option<Vec<ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSysctls>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSeLinuxOptions {
#[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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSeccompProfile {
#[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 ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSysctls {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01GatewayHttpRoutePodTemplateSpecTolerations {
#[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 ClusterIssuerAcmeSolversHttp01Ingress {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ingressClassName")]
pub ingress_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ingressTemplate")]
pub ingress_template: Option<ClusterIssuerAcmeSolversHttp01IngressIngressTemplate>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podTemplate")]
pub pod_template: Option<ClusterIssuerAcmeSolversHttp01IngressPodTemplate>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceType")]
pub service_type: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01IngressIngressTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<ClusterIssuerAcmeSolversHttp01IngressIngressTemplateMetadata>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01IngressIngressTemplateMetadata {
#[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 ClusterIssuerAcmeSolversHttp01IngressPodTemplate {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub metadata: Option<ClusterIssuerAcmeSolversHttp01IngressPodTemplateMetadata>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub spec: Option<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpec>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01IngressPodTemplateMetadata {
#[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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpec {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub affinity: Option<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "imagePullSecrets")]
pub image_pull_secrets: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecImagePullSecrets>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeSelector")]
pub node_selector: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "priorityClassName")]
pub priority_class_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "securityContext")]
pub security_context: Option<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecSecurityContext>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountName")]
pub service_account_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tolerations: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecTolerations>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")]
pub node_affinity: Option<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAffinity")]
pub pod_affinity: Option<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinity>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podAntiAffinity")]
pub pod_anti_affinity: Option<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinity>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution {
pub preference: ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields {
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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "nodeSelectorTerms")]
pub node_selector_terms: Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")]
pub match_fields: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields {
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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[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<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[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<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinity {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")]
pub preferred_during_scheduling_ignored_during_execution: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")]
pub required_during_scheduling_ignored_during_execution: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution {
#[serde(rename = "podAffinityTerm")]
pub pod_affinity_term: ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm,
pub weight: i32,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector>,
#[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<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector>,
#[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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions>>,
#[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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions>>,
#[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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "labelSelector")]
pub label_selector: Option<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector>,
#[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<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector>,
#[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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions>>,
#[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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions>>,
#[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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions {
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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecImagePullSecrets {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecSecurityContext {
#[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<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecSecurityContextSeLinuxOptions>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "seccompProfile")]
pub seccomp_profile: Option<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecSecurityContextSeccompProfile>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "supplementalGroups")]
pub supplemental_groups: Option<Vec<i64>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sysctls: Option<Vec<ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecSecurityContextSysctls>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecSecurityContextSeLinuxOptions {
#[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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecSecurityContextSeccompProfile {
#[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 ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecSecurityContextSysctls {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerAcmeSolversHttp01IngressPodTemplateSpecTolerations {
#[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 ClusterIssuerAcmeSolversSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dnsNames")]
pub dns_names: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "dnsZones")]
pub dns_zones: Option<Vec<String>>,
#[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 ClusterIssuerCa {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "crlDistributionPoints")]
pub crl_distribution_points: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "issuingCertificateURLs")]
pub issuing_certificate_ur_ls: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ocspServers")]
pub ocsp_servers: Option<Vec<String>>,
#[serde(rename = "secretName")]
pub secret_name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerSelfSigned {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "crlDistributionPoints")]
pub crl_distribution_points: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerVault {
pub auth: ClusterIssuerVaultAuth,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caBundle")]
pub ca_bundle: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caBundleSecretRef")]
pub ca_bundle_secret_ref: Option<ClusterIssuerVaultCaBundleSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientCertSecretRef")]
pub client_cert_secret_ref: Option<ClusterIssuerVaultClientCertSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientKeySecretRef")]
pub client_key_secret_ref: Option<ClusterIssuerVaultClientKeySecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
pub path: String,
pub server: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serverName")]
pub server_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerVaultAuth {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "appRole")]
pub app_role: Option<ClusterIssuerVaultAuthAppRole>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clientCertificate")]
pub client_certificate: Option<ClusterIssuerVaultAuthClientCertificate>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kubernetes: Option<ClusterIssuerVaultAuthKubernetes>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "tokenSecretRef")]
pub token_secret_ref: Option<ClusterIssuerVaultAuthTokenSecretRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerVaultAuthAppRole {
pub path: String,
#[serde(rename = "roleId")]
pub role_id: String,
#[serde(rename = "secretRef")]
pub secret_ref: ClusterIssuerVaultAuthAppRoleSecretRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerVaultAuthAppRoleSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerVaultAuthClientCertificate {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPath")]
pub mount_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: 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 ClusterIssuerVaultAuthKubernetes {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPath")]
pub mount_path: Option<String>,
pub role: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
pub secret_ref: Option<ClusterIssuerVaultAuthKubernetesSecretRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountRef")]
pub service_account_ref: Option<ClusterIssuerVaultAuthKubernetesServiceAccountRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerVaultAuthKubernetesSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerVaultAuthKubernetesServiceAccountRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub audiences: Option<Vec<String>>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerVaultAuthTokenSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerVaultCaBundleSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerVaultClientCertSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerVaultClientKeySecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerVenafi {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub cloud: Option<ClusterIssuerVenafiCloud>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tpp: Option<ClusterIssuerVenafiTpp>,
pub zone: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerVenafiCloud {
#[serde(rename = "apiTokenSecretRef")]
pub api_token_secret_ref: ClusterIssuerVenafiCloudApiTokenSecretRef,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerVenafiCloudApiTokenSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerVenafiTpp {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caBundle")]
pub ca_bundle: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "caBundleSecretRef")]
pub ca_bundle_secret_ref: Option<ClusterIssuerVenafiTppCaBundleSecretRef>,
#[serde(rename = "credentialsRef")]
pub credentials_ref: ClusterIssuerVenafiTppCredentialsRef,
pub url: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerVenafiTppCaBundleSecretRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerVenafiTppCredentialsRef {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub acme: Option<ClusterIssuerStatusAcme>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ClusterIssuerStatusAcme {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastPrivateKeyHash")]
pub last_private_key_hash: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastRegisteredEmail")]
pub last_registered_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uri: Option<String>,
}