UNPKG

k8ts

Version:

Powerful framework for building Kubernetes manifests in TypeScript.

2,476 lines 133 kB
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Order = exports.ChallengeSpecSolverDns01AzureDnsEnvironment = exports.ChallengeSpecSolverDns01CnameStrategy = exports.ChallengeSpecType = exports.Challenge = void 0;
exports.toJson_ChallengeProps = toJson_ChallengeProps;
exports.toJson_ChallengeSpec = toJson_ChallengeSpec;
exports.toJson_ChallengeSpecIssuerRef = toJson_ChallengeSpecIssuerRef;
exports.toJson_ChallengeSpecSolver = toJson_ChallengeSpecSolver;
exports.toJson_ChallengeSpecSolverDns01 = toJson_ChallengeSpecSolverDns01;
exports.toJson_ChallengeSpecSolverHttp01 = toJson_ChallengeSpecSolverHttp01;
exports.toJson_ChallengeSpecSolverSelector = toJson_ChallengeSpecSolverSelector;
exports.toJson_ChallengeSpecSolverDns01AcmeDns = toJson_ChallengeSpecSolverDns01AcmeDns;
exports.toJson_ChallengeSpecSolverDns01Akamai = toJson_ChallengeSpecSolverDns01Akamai;
exports.toJson_ChallengeSpecSolverDns01AzureDns = toJson_ChallengeSpecSolverDns01AzureDns;
exports.toJson_ChallengeSpecSolverDns01CloudDns = toJson_ChallengeSpecSolverDns01CloudDns;
exports.toJson_ChallengeSpecSolverDns01Cloudflare = toJson_ChallengeSpecSolverDns01Cloudflare;
exports.toJson_ChallengeSpecSolverDns01Digitalocean = toJson_ChallengeSpecSolverDns01Digitalocean;
exports.toJson_ChallengeSpecSolverDns01Rfc2136 = toJson_ChallengeSpecSolverDns01Rfc2136;
exports.toJson_ChallengeSpecSolverDns01Route53 = toJson_ChallengeSpecSolverDns01Route53;
exports.toJson_ChallengeSpecSolverDns01Webhook = toJson_ChallengeSpecSolverDns01Webhook;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoute = toJson_ChallengeSpecSolverHttp01GatewayHttpRoute;
exports.toJson_ChallengeSpecSolverHttp01Ingress = toJson_ChallengeSpecSolverHttp01Ingress;
exports.toJson_ChallengeSpecSolverDns01AcmeDnsAccountSecretRef = toJson_ChallengeSpecSolverDns01AcmeDnsAccountSecretRef;
exports.toJson_ChallengeSpecSolverDns01AkamaiAccessTokenSecretRef = toJson_ChallengeSpecSolverDns01AkamaiAccessTokenSecretRef;
exports.toJson_ChallengeSpecSolverDns01AkamaiClientSecretSecretRef = toJson_ChallengeSpecSolverDns01AkamaiClientSecretSecretRef;
exports.toJson_ChallengeSpecSolverDns01AkamaiClientTokenSecretRef = toJson_ChallengeSpecSolverDns01AkamaiClientTokenSecretRef;
exports.toJson_ChallengeSpecSolverDns01AzureDnsClientSecretSecretRef = toJson_ChallengeSpecSolverDns01AzureDnsClientSecretSecretRef;
exports.toJson_ChallengeSpecSolverDns01AzureDnsManagedIdentity = toJson_ChallengeSpecSolverDns01AzureDnsManagedIdentity;
exports.toJson_ChallengeSpecSolverDns01CloudDnsServiceAccountSecretRef = toJson_ChallengeSpecSolverDns01CloudDnsServiceAccountSecretRef;
exports.toJson_ChallengeSpecSolverDns01CloudflareApiKeySecretRef = toJson_ChallengeSpecSolverDns01CloudflareApiKeySecretRef;
exports.toJson_ChallengeSpecSolverDns01CloudflareApiTokenSecretRef = toJson_ChallengeSpecSolverDns01CloudflareApiTokenSecretRef;
exports.toJson_ChallengeSpecSolverDns01DigitaloceanTokenSecretRef = toJson_ChallengeSpecSolverDns01DigitaloceanTokenSecretRef;
exports.toJson_ChallengeSpecSolverDns01Rfc2136TsigSecretSecretRef = toJson_ChallengeSpecSolverDns01Rfc2136TsigSecretSecretRef;
exports.toJson_ChallengeSpecSolverDns01Route53AccessKeyIdSecretRef = toJson_ChallengeSpecSolverDns01Route53AccessKeyIdSecretRef;
exports.toJson_ChallengeSpecSolverDns01Route53Auth = toJson_ChallengeSpecSolverDns01Route53Auth;
exports.toJson_ChallengeSpecSolverDns01Route53SecretAccessKeySecretRef = toJson_ChallengeSpecSolverDns01Route53SecretAccessKeySecretRef;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRouteParentRefs = toJson_ChallengeSpecSolverHttp01GatewayHttpRouteParentRefs;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplate = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplate;
exports.toJson_ChallengeSpecSolverHttp01IngressIngressTemplate = toJson_ChallengeSpecSolverHttp01IngressIngressTemplate;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplate = toJson_ChallengeSpecSolverHttp01IngressPodTemplate;
exports.toJson_ChallengeSpecSolverDns01Route53AuthKubernetes = toJson_ChallengeSpecSolverDns01Route53AuthKubernetes;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateMetadata = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateMetadata;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpec = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpec;
exports.toJson_ChallengeSpecSolverHttp01IngressIngressTemplateMetadata = toJson_ChallengeSpecSolverHttp01IngressIngressTemplateMetadata;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateMetadata = toJson_ChallengeSpecSolverHttp01IngressPodTemplateMetadata;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpec = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpec;
exports.toJson_ChallengeSpecSolverDns01Route53AuthKubernetesServiceAccountRef = toJson_ChallengeSpecSolverDns01Route53AuthKubernetesServiceAccountRef;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinity = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinity;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecImagePullSecrets = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecImagePullSecrets;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContext = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContext;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecTolerations = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecTolerations;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinity = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinity;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecImagePullSecrets = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecImagePullSecrets;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContext = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContext;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecTolerations = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecTolerations;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinity = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinity;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinity = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinity;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinity = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinity;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSeLinuxOptions = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSeLinuxOptions;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSeccompProfile = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSeccompProfile;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSysctls = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSysctls;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinity = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinity;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinity = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinity;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinity = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinity;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContextSeLinuxOptions = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContextSeLinuxOptions;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContextSeccompProfile = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContextSeccompProfile;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContextSysctls = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContextSysctls;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions = toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions;
exports.toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions = toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions;
exports.toJson_OrderProps = toJson_OrderProps;
exports.toJson_OrderSpec = toJson_OrderSpec;
exports.toJson_OrderSpecIssuerRef = toJson_OrderSpecIssuerRef;
// generated by cdk8s
const cdk8s_1 = require("cdk8s");
/**
 * Challenge is a type to represent a Challenge request with an ACME server
 *
 * @schema Challenge
 */
class Challenge extends cdk8s_1.ApiObject {
    /**
     * Renders a Kubernetes manifest for "Challenge".
     *
     * This can be used to inline resource manifests inside other objects (e.g. as templates).
     *
     * @param props Initialization props
     */
    static manifest(props) {
        return {
            ...Challenge.GVK,
            ...toJson_ChallengeProps(props)
        };
    }
    /**
     * Defines a "Challenge" API object
     *
     * @param scope The scope in which to define this object
     * @param id A scope-local name for the object
     * @param props Initialization props
     */
    constructor(scope, id, props) {
        super(scope, id, {
            ...Challenge.GVK,
            ...props
        });
    }
    /** Renders the object to Kubernetes JSON. */
    toJson() {
        const resolved = super.toJson();
        return {
            ...Challenge.GVK,
            ...toJson_ChallengeProps(resolved)
        };
    }
}
exports.Challenge = Challenge;
/** Returns the apiVersion and kind for "Challenge" */
Challenge.GVK = {
    apiVersion: "acme.cert-manager.io/v1",
    kind: "Challenge"
};
/** Converts an object of type 'ChallengeProps' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeProps(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        metadata: obj.metadata,
        spec: toJson_ChallengeSpec(obj.spec)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'ChallengeSpec' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpec(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        authorizationURL: obj.authorizationUrl,
        dnsName: obj.dnsName,
        issuerRef: toJson_ChallengeSpecIssuerRef(obj.issuerRef),
        key: obj.key,
        solver: toJson_ChallengeSpecSolver(obj.solver),
        token: obj.token,
        type: obj.type,
        url: obj.url,
        wildcard: obj.wildcard
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'ChallengeSpecIssuerRef' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecIssuerRef(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        group: obj.group,
        kind: obj.kind,
        name: obj.name
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'ChallengeSpecSolver' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolver(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        dns01: toJson_ChallengeSpecSolverDns01(obj.dns01),
        http01: toJson_ChallengeSpecSolverHttp01(obj.http01),
        selector: toJson_ChallengeSpecSolverSelector(obj.selector)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/* eslint-enable max-len, quote-props */
/**
 * The type of ACME challenge this resource represents. One of "HTTP-01" or "DNS-01".
 *
 * @schema ChallengeSpecType
 */
var ChallengeSpecType;
(function (ChallengeSpecType) {
    /** HTTP-01 */
    ChallengeSpecType["HTTP_HYPHEN_01"] = "HTTP-01";
    /** DNS-01 */
    ChallengeSpecType["DNS_HYPHEN_01"] = "DNS-01";
})(ChallengeSpecType || (exports.ChallengeSpecType = ChallengeSpecType = {}));
/** Converts an object of type 'ChallengeSpecSolverDns01' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        acmeDNS: toJson_ChallengeSpecSolverDns01AcmeDns(obj.acmeDns),
        akamai: toJson_ChallengeSpecSolverDns01Akamai(obj.akamai),
        azureDNS: toJson_ChallengeSpecSolverDns01AzureDns(obj.azureDns),
        cloudDNS: toJson_ChallengeSpecSolverDns01CloudDns(obj.cloudDns),
        cloudflare: toJson_ChallengeSpecSolverDns01Cloudflare(obj.cloudflare),
        cnameStrategy: obj.cnameStrategy,
        digitalocean: toJson_ChallengeSpecSolverDns01Digitalocean(obj.digitalocean),
        rfc2136: toJson_ChallengeSpecSolverDns01Rfc2136(obj.rfc2136),
        route53: toJson_ChallengeSpecSolverDns01Route53(obj.route53),
        webhook: toJson_ChallengeSpecSolverDns01Webhook(obj.webhook)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'ChallengeSpecSolverHttp01' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        gatewayHTTPRoute: toJson_ChallengeSpecSolverHttp01GatewayHttpRoute(obj.gatewayHttpRoute),
        ingress: toJson_ChallengeSpecSolverHttp01Ingress(obj.ingress)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'ChallengeSpecSolverSelector' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverSelector(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        dnsNames: obj.dnsNames?.map(y => y),
        dnsZones: obj.dnsZones?.map(y => y),
        matchLabels: obj.matchLabels === undefined
            ? undefined
            : Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'ChallengeSpecSolverDns01AcmeDns' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01AcmeDns(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        accountSecretRef: toJson_ChallengeSpecSolverDns01AcmeDnsAccountSecretRef(obj.accountSecretRef),
        host: obj.host
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'ChallengeSpecSolverDns01Akamai' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01Akamai(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        accessTokenSecretRef: toJson_ChallengeSpecSolverDns01AkamaiAccessTokenSecretRef(obj.accessTokenSecretRef),
        clientSecretSecretRef: toJson_ChallengeSpecSolverDns01AkamaiClientSecretSecretRef(obj.clientSecretSecretRef),
        clientTokenSecretRef: toJson_ChallengeSpecSolverDns01AkamaiClientTokenSecretRef(obj.clientTokenSecretRef),
        serviceConsumerDomain: obj.serviceConsumerDomain
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'ChallengeSpecSolverDns01AzureDns' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01AzureDns(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        clientID: obj.clientId,
        clientSecretSecretRef: toJson_ChallengeSpecSolverDns01AzureDnsClientSecretSecretRef(obj.clientSecretSecretRef),
        environment: obj.environment,
        hostedZoneName: obj.hostedZoneName,
        managedIdentity: toJson_ChallengeSpecSolverDns01AzureDnsManagedIdentity(obj.managedIdentity),
        resourceGroupName: obj.resourceGroupName,
        subscriptionID: obj.subscriptionId,
        tenantID: obj.tenantId
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'ChallengeSpecSolverDns01CloudDns' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01CloudDns(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        hostedZoneName: obj.hostedZoneName,
        project: obj.project,
        serviceAccountSecretRef: toJson_ChallengeSpecSolverDns01CloudDnsServiceAccountSecretRef(obj.serviceAccountSecretRef)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'ChallengeSpecSolverDns01Cloudflare' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01Cloudflare(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        apiKeySecretRef: toJson_ChallengeSpecSolverDns01CloudflareApiKeySecretRef(obj.apiKeySecretRef),
        apiTokenSecretRef: toJson_ChallengeSpecSolverDns01CloudflareApiTokenSecretRef(obj.apiTokenSecretRef),
        email: obj.email
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/* eslint-enable max-len, quote-props */
/**
 * CNAMEStrategy configures how the DNS01 provider should handle CNAME records when found in DNS
 * zones.
 *
 * @schema ChallengeSpecSolverDns01CnameStrategy
 */
var ChallengeSpecSolverDns01CnameStrategy;
(function (ChallengeSpecSolverDns01CnameStrategy) {
    /** None */
    ChallengeSpecSolverDns01CnameStrategy["NONE"] = "None";
    /** Follow */
    ChallengeSpecSolverDns01CnameStrategy["FOLLOW"] = "Follow";
})(ChallengeSpecSolverDns01CnameStrategy || (exports.ChallengeSpecSolverDns01CnameStrategy = ChallengeSpecSolverDns01CnameStrategy = {}));
/** Converts an object of type 'ChallengeSpecSolverDns01Digitalocean' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01Digitalocean(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        tokenSecretRef: toJson_ChallengeSpecSolverDns01DigitaloceanTokenSecretRef(obj.tokenSecretRef)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'ChallengeSpecSolverDns01Rfc2136' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01Rfc2136(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        nameserver: obj.nameserver,
        tsigAlgorithm: obj.tsigAlgorithm,
        tsigKeyName: obj.tsigKeyName,
        tsigSecretSecretRef: toJson_ChallengeSpecSolverDns01Rfc2136TsigSecretSecretRef(obj.tsigSecretSecretRef)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'ChallengeSpecSolverDns01Route53' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01Route53(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        accessKeyID: obj.accessKeyId,
        accessKeyIDSecretRef: toJson_ChallengeSpecSolverDns01Route53AccessKeyIdSecretRef(obj.accessKeyIdSecretRef),
        auth: toJson_ChallengeSpecSolverDns01Route53Auth(obj.auth),
        hostedZoneID: obj.hostedZoneId,
        region: obj.region,
        role: obj.role,
        secretAccessKeySecretRef: toJson_ChallengeSpecSolverDns01Route53SecretAccessKeySecretRef(obj.secretAccessKeySecretRef)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'ChallengeSpecSolverDns01Webhook' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01Webhook(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        config: obj.config,
        groupName: obj.groupName,
        solverName: obj.solverName
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'ChallengeSpecSolverHttp01GatewayHttpRoute' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoute(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        labels: obj.labels === undefined
            ? undefined
            : Object.entries(obj.labels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}),
        parentRefs: obj.parentRefs?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRouteParentRefs(y)),
        podTemplate: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplate(obj.podTemplate),
        serviceType: obj.serviceType
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'ChallengeSpecSolverHttp01Ingress' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01Ingress(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        class: obj.class,
        ingressClassName: obj.ingressClassName,
        ingressTemplate: toJson_ChallengeSpecSolverHttp01IngressIngressTemplate(obj.ingressTemplate),
        name: obj.name,
        podTemplate: toJson_ChallengeSpecSolverHttp01IngressPodTemplate(obj.podTemplate),
        serviceType: obj.serviceType
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverDns01AcmeDnsAccountSecretRef' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01AcmeDnsAccountSecretRef(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        name: obj.name
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverDns01AkamaiAccessTokenSecretRef' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01AkamaiAccessTokenSecretRef(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        name: obj.name
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverDns01AkamaiClientSecretSecretRef' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01AkamaiClientSecretSecretRef(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        name: obj.name
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverDns01AkamaiClientTokenSecretRef' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01AkamaiClientTokenSecretRef(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        name: obj.name
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverDns01AzureDnsClientSecretSecretRef' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01AzureDnsClientSecretSecretRef(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        name: obj.name
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/* eslint-enable max-len, quote-props */
/**
 * Name of the Azure environment (default AzurePublicCloud)
 *
 * @schema ChallengeSpecSolverDns01AzureDnsEnvironment
 */
var ChallengeSpecSolverDns01AzureDnsEnvironment;
(function (ChallengeSpecSolverDns01AzureDnsEnvironment) {
    /** AzurePublicCloud */
    ChallengeSpecSolverDns01AzureDnsEnvironment["AZURE_PUBLIC_CLOUD"] = "AzurePublicCloud";
    /** AzureChinaCloud */
    ChallengeSpecSolverDns01AzureDnsEnvironment["AZURE_CHINA_CLOUD"] = "AzureChinaCloud";
    /** AzureGermanCloud */
    ChallengeSpecSolverDns01AzureDnsEnvironment["AZURE_GERMAN_CLOUD"] = "AzureGermanCloud";
    /** AzureUSGovernmentCloud */
    ChallengeSpecSolverDns01AzureDnsEnvironment["AZURE_US_GOVERNMENT_CLOUD"] = "AzureUSGovernmentCloud";
})(ChallengeSpecSolverDns01AzureDnsEnvironment || (exports.ChallengeSpecSolverDns01AzureDnsEnvironment = ChallengeSpecSolverDns01AzureDnsEnvironment = {}));
/**
 * Converts an object of type 'ChallengeSpecSolverDns01AzureDnsManagedIdentity' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01AzureDnsManagedIdentity(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        clientID: obj.clientId,
        resourceID: obj.resourceId
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverDns01CloudDnsServiceAccountSecretRef' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01CloudDnsServiceAccountSecretRef(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        name: obj.name
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverDns01CloudflareApiKeySecretRef' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01CloudflareApiKeySecretRef(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        name: obj.name
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverDns01CloudflareApiTokenSecretRef' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01CloudflareApiTokenSecretRef(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        name: obj.name
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverDns01DigitaloceanTokenSecretRef' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01DigitaloceanTokenSecretRef(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        name: obj.name
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverDns01Rfc2136TsigSecretSecretRef' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01Rfc2136TsigSecretSecretRef(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        name: obj.name
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverDns01Route53AccessKeyIdSecretRef' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01Route53AccessKeyIdSecretRef(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        name: obj.name
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'ChallengeSpecSolverDns01Route53Auth' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01Route53Auth(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        kubernetes: toJson_ChallengeSpecSolverDns01Route53AuthKubernetes(obj.kubernetes)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverDns01Route53SecretAccessKeySecretRef' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01Route53SecretAccessKeySecretRef(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        name: obj.name
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverHttp01GatewayHttpRouteParentRefs' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRouteParentRefs(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        group: obj.group,
        kind: obj.kind,
        name: obj.name,
        namespace: obj.namespace,
        port: obj.port,
        sectionName: obj.sectionName
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplate' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplate(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        metadata: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateMetadata(obj.metadata),
        spec: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpec(obj.spec)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverHttp01IngressIngressTemplate' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressIngressTemplate(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        metadata: toJson_ChallengeSpecSolverHttp01IngressIngressTemplateMetadata(obj.metadata)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'ChallengeSpecSolverHttp01IngressPodTemplate' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplate(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        metadata: toJson_ChallengeSpecSolverHttp01IngressPodTemplateMetadata(obj.metadata),
        spec: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpec(obj.spec)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverDns01Route53AuthKubernetes' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01Route53AuthKubernetes(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        serviceAccountRef: toJson_ChallengeSpecSolverDns01Route53AuthKubernetesServiceAccountRef(obj.serviceAccountRef)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateMetadata' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateMetadata(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        annotations: obj.annotations === undefined
            ? undefined
            : Object.entries(obj.annotations).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}),
        labels: obj.labels === undefined
            ? undefined
            : Object.entries(obj.labels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpec' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpec(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        affinity: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinity(obj.affinity),
        imagePullSecrets: obj.imagePullSecrets?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecImagePullSecrets(y)),
        nodeSelector: obj.nodeSelector === undefined
            ? undefined
            : Object.entries(obj.nodeSelector).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}),
        priorityClassName: obj.priorityClassName,
        securityContext: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContext(obj.securityContext),
        serviceAccountName: obj.serviceAccountName,
        tolerations: obj.tolerations?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecTolerations(y))
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverHttp01IngressIngressTemplateMetadata' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressIngressTemplateMetadata(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        annotations: obj.annotations === undefined
            ? undefined
            : Object.entries(obj.annotations).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}),
        labels: obj.labels === undefined
            ? undefined
            : Object.entries(obj.labels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverHttp01IngressPodTemplateMetadata' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateMetadata(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        annotations: obj.annotations === undefined
            ? undefined
            : Object.entries(obj.annotations).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}),
        labels: obj.labels === undefined
            ? undefined
            : Object.entries(obj.labels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverHttp01IngressPodTemplateSpec' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpec(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        affinity: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinity(obj.affinity),
        imagePullSecrets: obj.imagePullSecrets?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecImagePullSecrets(y)),
        nodeSelector: obj.nodeSelector === undefined
            ? undefined
            : Object.entries(obj.nodeSelector).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}),
        priorityClassName: obj.priorityClassName,
        securityContext: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContext(obj.securityContext),
        serviceAccountName: obj.serviceAccountName,
        tolerations: obj.tolerations?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecTolerations(y))
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverDns01Route53AuthKubernetesServiceAccountRef' to
 * JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverDns01Route53AuthKubernetesServiceAccountRef(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        audiences: obj.audiences?.map(y => y),
        name: obj.name
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinity' to
 * JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinity(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        nodeAffinity: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinity(obj.nodeAffinity),
        podAffinity: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinity(obj.podAffinity),
        podAntiAffinity: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinity(obj.podAntiAffinity)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecImagePullSecrets' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecImagePullSecrets(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        name: obj.name
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContext' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContext(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        fsGroup: obj.fsGroup,
        fsGroupChangePolicy: obj.fsGroupChangePolicy,
        runAsGroup: obj.runAsGroup,
        runAsNonRoot: obj.runAsNonRoot,
        runAsUser: obj.runAsUser,
        seLinuxOptions: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSeLinuxOptions(obj.seLinuxOptions),
        seccompProfile: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSeccompProfile(obj.seccompProfile),
        supplementalGroups: obj.supplementalGroups?.map(y => y),
        sysctls: obj.sysctls?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSysctls(y))
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecTolerations'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecTolerations(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        effect: obj.effect,
        key: obj.key,
        operator: obj.operator,
        tolerationSeconds: obj.tolerationSeconds,
        value: obj.value
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinity' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinity(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        nodeAffinity: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinity(obj.nodeAffinity),
        podAffinity: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinity(obj.podAffinity),
        podAntiAffinity: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinity(obj.podAntiAffinity)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverHttp01IngressPodTemplateSpecImagePullSecrets' to
 * JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecImagePullSecrets(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        name: obj.name
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContext' to
 * JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContext(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        fsGroup: obj.fsGroup,
        fsGroupChangePolicy: obj.fsGroupChangePolicy,
        runAsGroup: obj.runAsGroup,
        runAsNonRoot: obj.runAsNonRoot,
        runAsUser: obj.runAsUser,
        seLinuxOptions: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContextSeLinuxOptions(obj.seLinuxOptions),
        seccompProfile: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContextSeccompProfile(obj.seccompProfile),
        supplementalGroups: obj.supplementalGroups?.map(y => y),
        sysctls: obj.sysctls?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContextSysctls(y))
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverHttp01IngressPodTemplateSpecTolerations' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecTolerations(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        effect: obj.effect,
        key: obj.key,
        operator: obj.operator,
        tolerationSeconds: obj.tolerationSeconds,
        value: obj.value
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinity' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinity(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        preferredDuringSchedulingIgnoredDuringExecution: obj.preferredDuringSchedulingIgnoredDuringExecution?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution(y)),
        requiredDuringSchedulingIgnoredDuringExecution: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution(obj.requiredDuringSchedulingIgnoredDuringExecution)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinity' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinity(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        preferredDuringSchedulingIgnoredDuringExecution: obj.preferredDuringSchedulingIgnoredDuringExecution?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution(y)),
        requiredDuringSchedulingIgnoredDuringExecution: obj.requiredDuringSchedulingIgnoredDuringExecution?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution(y))
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinity' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinity(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        preferredDuringSchedulingIgnoredDuringExecution: obj.preferredDuringSchedulingIgnoredDuringExecution?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution(y)),
        requiredDuringSchedulingIgnoredDuringExecution: obj.requiredDuringSchedulingIgnoredDuringExecution?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution(y))
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSeLinuxOptions' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSeLinuxOptions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        level: obj.level,
        role: obj.role,
        type: obj.type,
        user: obj.user
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSeccompProfile' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSeccompProfile(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        localhostProfile: obj.localhostProfile,
        type: obj.type
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSysctls' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecSecurityContextSysctls(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        name: obj.name,
        value: obj.value
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinity'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinity(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        preferredDuringSchedulingIgnoredDuringExecution: obj.preferredDuringSchedulingIgnoredDuringExecution?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution(y)),
        requiredDuringSchedulingIgnoredDuringExecution: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution(obj.requiredDuringSchedulingIgnoredDuringExecution)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinity'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinity(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        preferredDuringSchedulingIgnoredDuringExecution: obj.preferredDuringSchedulingIgnoredDuringExecution?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution(y)),
        requiredDuringSchedulingIgnoredDuringExecution: obj.requiredDuringSchedulingIgnoredDuringExecution?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution(y))
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinity' to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinity(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        preferredDuringSchedulingIgnoredDuringExecution: obj.preferredDuringSchedulingIgnoredDuringExecution?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution(y)),
        requiredDuringSchedulingIgnoredDuringExecution: obj.requiredDuringSchedulingIgnoredDuringExecution?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution(y))
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContextSeLinuxOptions' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContextSeLinuxOptions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        level: obj.level,
        role: obj.role,
        type: obj.type,
        user: obj.user
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContextSeccompProfile' to JSON
 * representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContextSeccompProfile(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        localhostProfile: obj.localhostProfile,
        type: obj.type
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContextSysctls' to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecSecurityContextSysctls(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        name: obj.name,
        value: obj.value
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        preference: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference(obj.preference),
        weight: obj.weight
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        nodeSelectorTerms: obj.nodeSelectorTerms?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms(y))
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        podAffinityTerm: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm(obj.podAffinityTerm),
        weight: obj.weight
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        labelSelector: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector(obj.labelSelector),
        matchLabelKeys: obj.matchLabelKeys?.map(y => y),
        mismatchLabelKeys: obj.mismatchLabelKeys?.map(y => y),
        namespaceSelector: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector(obj.namespaceSelector),
        namespaces: obj.namespaces?.map(y => y),
        topologyKey: obj.topologyKey
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        podAffinityTerm: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm(obj.podAffinityTerm),
        weight: obj.weight
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        labelSelector: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector(obj.labelSelector),
        matchLabelKeys: obj.matchLabelKeys?.map(y => y),
        mismatchLabelKeys: obj.mismatchLabelKeys?.map(y => y),
        namespaceSelector: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector(obj.namespaceSelector),
        namespaces: obj.namespaces?.map(y => y),
        topologyKey: obj.topologyKey
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        preference: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference(obj.preference),
        weight: obj.weight
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        nodeSelectorTerms: obj.nodeSelectorTerms?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms(y))
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        podAffinityTerm: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm(obj.podAffinityTerm),
        weight: obj.weight
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        labelSelector: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector(obj.labelSelector),
        matchLabelKeys: obj.matchLabelKeys?.map(y => y),
        mismatchLabelKeys: obj.mismatchLabelKeys?.map(y => y),
        namespaceSelector: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector(obj.namespaceSelector),
        namespaces: obj.namespaces?.map(y => y),
        topologyKey: obj.topologyKey
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        podAffinityTerm: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm(obj.podAffinityTerm),
        weight: obj.weight
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        labelSelector: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector(obj.labelSelector),
        matchLabelKeys: obj.matchLabelKeys?.map(y => y),
        mismatchLabelKeys: obj.mismatchLabelKeys?.map(y => y),
        namespaceSelector: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector(obj.namespaceSelector),
        namespaces: obj.namespaces?.map(y => y),
        topologyKey: obj.topologyKey
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions(y)),
        matchFields: obj.matchFields?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields(y))
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions(y)),
        matchFields: obj.matchFields?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields(y))
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        labelSelector: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector(obj.labelSelector),
        matchLabelKeys: obj.matchLabelKeys?.map(y => y),
        mismatchLabelKeys: obj.mismatchLabelKeys?.map(y => y),
        namespaceSelector: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector(obj.namespaceSelector),
        namespaces: obj.namespaces?.map(y => y),
        topologyKey: obj.topologyKey
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions(y)),
        matchLabels: obj.matchLabels === undefined
            ? undefined
            : Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions(y)),
        matchLabels: obj.matchLabels === undefined
            ? undefined
            : Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        labelSelector: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector(obj.labelSelector),
        matchLabelKeys: obj.matchLabelKeys?.map(y => y),
        mismatchLabelKeys: obj.mismatchLabelKeys?.map(y => y),
        namespaceSelector: toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector(obj.namespaceSelector),
        namespaces: obj.namespaces?.map(y => y),
        topologyKey: obj.topologyKey
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions(y)),
        matchLabels: obj.matchLabels === undefined
            ? undefined
            : Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions(y)),
        matchLabels: obj.matchLabels === undefined
            ? undefined
            : Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions(y)),
        matchFields: obj.matchFields?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields(y))
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions(y)),
        matchFields: obj.matchFields?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields(y))
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        labelSelector: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector(obj.labelSelector),
        matchLabelKeys: obj.matchLabelKeys?.map(y => y),
        mismatchLabelKeys: obj.mismatchLabelKeys?.map(y => y),
        namespaceSelector: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector(obj.namespaceSelector),
        namespaces: obj.namespaces?.map(y => y),
        topologyKey: obj.topologyKey
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions(y)),
        matchLabels: obj.matchLabels === undefined
            ? undefined
            : Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions(y)),
        matchLabels: obj.matchLabels === undefined
            ? undefined
            : Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        labelSelector: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector(obj.labelSelector),
        matchLabelKeys: obj.matchLabelKeys?.map(y => y),
        mismatchLabelKeys: obj.mismatchLabelKeys?.map(y => y),
        namespaceSelector: toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector(obj.namespaceSelector),
        namespaces: obj.namespaces?.map(y => y),
        topologyKey: obj.topologyKey
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions(y)),
        matchLabels: obj.matchLabels === undefined
            ? undefined
            : Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelector(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions(y)),
        matchLabels: obj.matchLabels === undefined
            ? undefined
            : Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions(y)),
        matchLabels: obj.matchLabels === undefined
            ? undefined
            : Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions(y)),
        matchLabels: obj.matchLabels === undefined
            ? undefined
            : Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions(y)),
        matchLabels: obj.matchLabels === undefined
            ? undefined
            : Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions(y)),
        matchLabels: obj.matchLabels === undefined
            ? undefined
            : Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions(y)),
        matchLabels: obj.matchLabels === undefined
            ? undefined
            : Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions(y)),
        matchLabels: obj.matchLabels === undefined
            ? undefined
            : Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions(y)),
        matchLabels: obj.matchLabels === undefined
            ? undefined
            : Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelector(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        matchExpressions: obj.matchExpressions?.map(y => toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions(y)),
        matchLabels: obj.matchLabels === undefined
            ? undefined
            : Object.entries(obj.matchLabels).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {})
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionNamespaceSelectorMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01GatewayHttpRoutePodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
 * Converts an object of type
 * 'ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions'
 * to JSON representation.
 */
/* eslint-disable max-len, quote-props */
function toJson_ChallengeSpecSolverHttp01IngressPodTemplateSpecAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermNamespaceSelectorMatchExpressions(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        key: obj.key,
        operator: obj.operator,
        values: obj.values?.map(y => y)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/* eslint-enable max-len, quote-props */
/**
 * Order is a type to represent an Order with an ACME server
 *
 * @schema Order
 */
class Order extends cdk8s_1.ApiObject {
    /**
     * Renders a Kubernetes manifest for "Order".
     *
     * This can be used to inline resource manifests inside other objects (e.g. as templates).
     *
     * @param props Initialization props
     */
    static manifest(props) {
        return {
            ...Order.GVK,
            ...toJson_OrderProps(props)
        };
    }
    /**
     * Defines a "Order" API object
     *
     * @param scope The scope in which to define this object
     * @param id A scope-local name for the object
     * @param props Initialization props
     */
    constructor(scope, id, props) {
        super(scope, id, {
            ...Order.GVK,
            ...props
        });
    }
    /** Renders the object to Kubernetes JSON. */
    toJson() {
        const resolved = super.toJson();
        return {
            ...Order.GVK,
            ...toJson_OrderProps(resolved)
        };
    }
}
exports.Order = Order;
/** Returns the apiVersion and kind for "Order" */
Order.GVK = {
    apiVersion: "acme.cert-manager.io/v1",
    kind: "Order"
};
/** Converts an object of type 'OrderProps' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_OrderProps(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        metadata: obj.metadata,
        spec: toJson_OrderSpec(obj.spec)
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'OrderSpec' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_OrderSpec(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        commonName: obj.commonName,
        dnsNames: obj.dnsNames?.map(y => y),
        duration: obj.duration,
        ipAddresses: obj.ipAddresses?.map(y => y),
        issuerRef: toJson_OrderSpecIssuerRef(obj.issuerRef),
        request: obj.request
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/** Converts an object of type 'OrderSpecIssuerRef' to JSON representation. */
/* eslint-disable max-len, quote-props */
function toJson_OrderSpecIssuerRef(obj) {
    if (obj === undefined) {
        return undefined;
    }
    const result = {
        group: obj.group,
        kind: obj.kind,
        name: obj.name
    };
    // filter undefined values
    return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/* eslint-enable max-len, quote-props */
//# sourceMappingURL=acme.cert-manager.io.js.map