import {z} from 'zod' export type GetApiV2OrganizationsOrganizationClustersArgs = {fetchWorkloads?: boolean | undefined, organization: string}; export type GetApiV2OrganizationsOrganizationClustersOptions = {baseUrl: string, fetch?: typeof fetch | undefined}; export const servicePort = z.object({number: z.number().int().optional(), name: z.string().optional(), kubernetesNodePort: z.number().int().optional()}); export const workloadProxy = z.object({controlPlaneAddress: z.string().optional(), envoyVersion: z.string().optional(), istioVersion: z.string().optional(), status: z.record(z.string(), z.string()).optional()}); export const v2Workload = z.object({address: z.string().optional(), name: z.string().optional(), isVm: z.boolean().optional(), proxy: workloadProxy.optional()}); export const tsbv2Service = z.object({hostname: z.string().optional(), namespace: z.string().optional(), selector: z.record(z.string(), z.string()).optional(), ports: z.array(servicePort).optional(), kubernetesServiceIp: z.string().optional(), kubernetesExternalAddresses: z.array(z.string()).optional(), numKubernetesEndpoints: z.number().int().optional(), numVmEndpoints: z.number().int().optional(), meshExternal: z.boolean().optional(), gatewayHost: z.boolean().optional(), numHops: z.number().int().optional(), kubernetesServiceFqdn: z.string().optional(), name: z.string().optional(), subsets: z.array(z.string()).optional(), canonicalName: z.string().optional(), workloads: z.array(v2Workload).optional(), tier1GatewayHost: z.boolean().optional(), spiffeIds: z.array(z.string()).optional()}); export const tsbv2Namespace = z.object({name: z.string().optional(), services: z.array(tsbv2Service).optional()}); export const v2Locality = z.object({region: z.string()}); export const namespaceScopingScope = z.enum(["GLOBAL", "LOCAL"]); export const v2NamespaceScoping = z.object({scope: namespaceScopingScope.optional(), exceptions: z.array(z.string()).optional()}); export const clusterState = z.object({lastSyncTime: z.string().optional(), provider: z.string().optional(), istioVersions: z.array(z.string()).optional(), xcpVersion: z.string().optional(), tsbCpVersion: z.string().optional(), discoveredLocality: v2Locality.optional()}); export const keyPairEncoding = z.enum(["PEM", "JWK"]); export const serviceAccountKeyPair = z.object({id: z.string().optional(), publicKey: z.string().optional(), privateKey: z.string().optional(), encoding: keyPairEncoding.optional(), defaultToken: z.string().optional()}); export const tsbv2ServiceAccount = z.object({fqn: z.string().optional(), displayName: z.string().optional(), etag: z.string().optional(), description: z.string().optional(), keys: z.array(serviceAccountKeyPair).optional()}); export const commonv1alpha1Image = z.object({registry: z.string().optional(), tag: z.string().optional()}); export const installkubernetesLocalObjectReference = z.object({name: z.string().optional()}); export const installkubernetesObjectFieldSelector = z.object({apiVersion: z.string().optional(), fieldPath: z.string().optional()}); export const operatorv1alpha1IntOrString = z.object({type: z.string().optional(), intVal: z.number().int().optional(), strVal: z.string().optional()}); export const installkubernetesResourceFieldSelector = z.object({containerName: z.string().optional(), resource: z.string().optional(), divisor: operatorv1alpha1IntOrString.optional()}); export const installkubernetesConfigMapKeySelector = z.object({localObjectReference: installkubernetesLocalObjectReference.optional(), key: z.string().optional(), optional: z.boolean().optional()}); export const installkubernetesSecretKeySelector = z.object({localObjectReference: installkubernetesLocalObjectReference.optional(), key: z.string().optional(), optional: z.boolean().optional()}); export const installkubernetesEnvVarSource = z.object({fieldRef: installkubernetesObjectFieldSelector.optional(), resourceFieldRef: installkubernetesResourceFieldSelector.optional(), configMapKeyRef: installkubernetesConfigMapKeySelector.optional(), secretKeyRef: installkubernetesSecretKeySelector.optional()}); export const installkubernetesEnvVar = z.object({name: z.string().optional(), value: z.string().optional(), valueFrom: installkubernetesEnvVarSource.optional()}); export const installkubernetesNodeSelectorRequirement = z.object({key: z.string().optional(), operator: z.string().optional(), values: z.array(z.string()).optional()}); export const installkubernetesNodeSelectorTerm = z.object({matchExpressions: z.array(installkubernetesNodeSelectorRequirement).optional(), matchFields: z.array(installkubernetesNodeSelectorRequirement).optional()}); export const installkubernetesNodeSelector = z.object({nodeSelectorTerms: z.array(installkubernetesNodeSelectorTerm).optional()}); export const installkubernetesPreferredSchedulingTerm = z.object({weight: z.number().int().optional(), preference: installkubernetesNodeSelectorTerm.optional()}); export const installkubernetesNodeAffinity = z.object({requiredDuringSchedulingIgnoredDuringExecution: installkubernetesNodeSelector.optional(), preferredDuringSchedulingIgnoredDuringExecution: z.array(installkubernetesPreferredSchedulingTerm).optional()}); export const v1LabelSelectorRequirement = z.object({key: z.string().optional(), operator: z.string().optional(), values: z.array(z.string()).optional()}); export const v1LabelSelector = z.object({matchLabels: z.record(z.string(), z.string()).optional(), matchExpressions: z.array(v1LabelSelectorRequirement).optional()}); export const installkubernetesPodAffinityTerm = z.object({labelSelector: v1LabelSelector.optional(), namespaces: z.array(z.string()).optional(), topologyKey: z.string().optional()}); export const installkubernetesWeightedPodAffinityTerm = z.object({weight: z.number().int().optional(), podAffinityTerm: installkubernetesPodAffinityTerm.optional()}); export const installkubernetesPodAffinity = z.object({requiredDuringSchedulingIgnoredDuringExecution: z.array(installkubernetesPodAffinityTerm).optional(), preferredDuringSchedulingIgnoredDuringExecution: z.array(installkubernetesWeightedPodAffinityTerm).optional()}); export const installkubernetesPodAntiAffinity = z.object({requiredDuringSchedulingIgnoredDuringExecution: z.array(installkubernetesPodAffinityTerm).optional(), preferredDuringSchedulingIgnoredDuringExecution: z.array(installkubernetesWeightedPodAffinityTerm).optional()}); export const installkubernetesAffinity = z.object({nodeAffinity: installkubernetesNodeAffinity.optional(), podAffinity: installkubernetesPodAffinity.optional(), podAntiAffinity: installkubernetesPodAntiAffinity.optional()}); export const installkubernetesResources = z.object({limits: z.record(z.string(), z.string()).optional(), requests: z.record(z.string(), z.string()).optional()}); export const installkubernetesRollingUpdateDeployment = z.object({maxUnavailable: operatorv1alpha1IntOrString.optional(), maxSurge: operatorv1alpha1IntOrString.optional()}); export const installkubernetesDeploymentStrategy = z.object({type: z.string().optional(), rollingUpdate: installkubernetesRollingUpdateDeployment.optional()}); export const corev1Toleration = z.object({key: z.string().optional(), operator: z.string().optional(), value: z.string().optional(), effect: z.string().optional(), tolerationSeconds: z.string().optional()}); export const installkubernetesCrossVersionObjectReference = z.object({kind: z.string().optional(), name: z.string().optional(), apiVersion: z.string().optional()}); export const installkubernetesObjectMetricSource = z.object({target: installkubernetesCrossVersionObjectReference.optional(), metricName: z.string().optional(), targetValue: operatorv1alpha1IntOrString.optional(), selector: v1LabelSelector.optional(), averageValue: operatorv1alpha1IntOrString.optional()}); export const installkubernetesPodsMetricSource = z.object({metricName: z.string().optional(), targetAverageValue: operatorv1alpha1IntOrString.optional(), selector: v1LabelSelector.optional()}); export const installkubernetesMetricTarget = z.object({type: z.string().optional(), averageUtilization: z.number().int().optional(), averageValue: operatorv1alpha1IntOrString.optional(), value: operatorv1alpha1IntOrString.optional()}); export const installkubernetesResourceMetricSource = z.object({name: z.string().optional(), targetAverageUtilization: operatorv1alpha1IntOrString.optional(), targetAverageValue: operatorv1alpha1IntOrString.optional(), target: installkubernetesMetricTarget.optional()}); export const installkubernetesExternalMetricSource = z.object({metricName: z.string().optional(), metricSelector: v1LabelSelector.optional(), targetValue: operatorv1alpha1IntOrString.optional(), targetAverageValue: operatorv1alpha1IntOrString.optional()}); export const installkubernetesMetricSpec = z.object({type: z.string().optional(), object: installkubernetesObjectMetricSource.optional(), pods: installkubernetesPodsMetricSource.optional(), resource: installkubernetesResourceMetricSource.optional(), external: installkubernetesExternalMetricSource.optional()}); export const installkubernetesHorizontalPodAutoscalerSpec = z.object({minReplicas: z.number().int().optional(), maxReplicas: z.number().int().optional(), metrics: z.array(installkubernetesMetricSpec).optional()}); export const installkubernetesSELinuxOptions = z.object({user: z.string().optional(), role: z.string().optional(), type: z.string().optional(), level: z.string().optional()}); export const installkubernetesSysctl = z.object({name: z.string().optional(), value: z.string().optional()}); export const installkubernetesWindowsSecurityContextOptions = z.object({gmsaCredentialSpecName: z.string().optional(), gmsaCredentialSpec: z.string().optional(), runAsUserName: z.string().optional()}); export const installkubernetesSeccompProfile = z.object({type: z.string().optional(), localhostProfile: z.string().optional()}); export const installkubernetesPodSecurityContext = z.object({seLinuxOptions: installkubernetesSELinuxOptions.optional(), runAsUser: z.number().int().optional(), runAsNonRoot: z.boolean().optional(), supplementalGroups: z.array(z.number().int()).optional(), fsGroup: z.number().int().optional(), runAsGroup: z.number().int().optional(), sysctls: z.array(installkubernetesSysctl).optional(), windowsOptions: installkubernetesWindowsSecurityContextOptions.optional(), fsGroupChangePolicy: z.string().optional(), seccompProfile: installkubernetesSeccompProfile.optional()}); export const installkubernetesCapabilities = z.object({add: z.array(z.string()).optional(), drop: z.array(z.string()).optional()}); export const installkubernetesSecurityContext = z.object({capabilities: installkubernetesCapabilities.optional(), privileged: z.boolean().optional(), seLinuxOptions: installkubernetesSELinuxOptions.optional(), windowsOptions: installkubernetesWindowsSecurityContextOptions.optional(), runAsUser: z.number().int().optional(), runAsGroup: z.number().int().optional(), runAsNonRoot: z.boolean().optional(), readOnlyRootFilesystem: z.boolean().optional(), allowPrivilegeEscalation: z.boolean().optional(), procMount: z.string().optional(), seccompProfile: installkubernetesSeccompProfile.optional()}); export const installkubernetesDeployment = z.object({podAnnotations: z.record(z.string(), z.string()).optional(), env: z.array(installkubernetesEnvVar).optional(), affinity: installkubernetesAffinity.optional(), replicaCount: z.number().int().optional(), resources: installkubernetesResources.optional(), strategy: installkubernetesDeploymentStrategy.optional(), tolerations: z.array(corev1Toleration).optional(), hpaSpec: installkubernetesHorizontalPodAutoscalerSpec.optional(), podSecurityContext: installkubernetesPodSecurityContext.optional(), containerSecurityContext: installkubernetesSecurityContext.optional()}); export const installkubernetesServicePort = z.object({name: z.string().optional(), protocol: z.string().optional(), port: z.number().int().optional(), targetPort: operatorv1alpha1IntOrString.optional(), nodePort: z.number().int().optional()}); export const installkubernetesService = z.object({annotations: z.record(z.string(), z.string()).optional(), ports: z.array(installkubernetesServicePort).optional(), type: z.string().optional(), labels: z.record(z.string(), z.string()).optional()}); export const installkubernetesServiceAccount = z.object({imagePullSecrets: z.array(installkubernetesLocalObjectReference).optional()}); export const k8sObjectOverlayPathValue = z.object({path: z.string().optional(), value: z.unknown()}); export const v1alpha1K8sObjectOverlay = z.object({apiVersion: z.string().optional(), kind: z.string().optional(), name: z.string().optional(), patches: z.array(k8sObjectOverlayPathValue).optional()}); export const kubernetesKubernetesComponentSpec = z.object({deployment: installkubernetesDeployment.optional(), service: installkubernetesService.optional(), serviceAccount: installkubernetesServiceAccount.optional(), overlays: z.array(v1alpha1K8sObjectOverlay).optional()}); export const v1alpha1OpenTelemetryCollector = z.object({kubeSpec: kubernetesKubernetesComponentSpec.optional(), logLevel: z.string().optional()}); export const v1alpha1Oap = z.object({streamingLogEnabled: z.boolean().optional(), onDemandEnvoyMetricsEnabled: z.boolean().optional(), storageIndexMergingEnabled: z.boolean().optional(), kubeSpec: kubernetesKubernetesComponentSpec.optional(), logLevel: z.string().optional()}); export const xCPCentralAuthMode = z.enum(["UNKNOWN", "MUTUAL_TLS", "JWT"]); export const commonConfigProtection = z.object({enableAuthorizedUpdateDeleteOnXcpConfigs: z.boolean().optional(), enableAuthorizedCreateUpdateDeleteOnXcpConfigs: z.boolean().optional(), authorizedUsers: z.array(z.string()).optional()}); export const kubernetesCNI = z.object({binaryDirectory: z.string().optional(), configurationDirectory: z.string().optional(), chained: z.boolean().optional(), configurationFileName: z.string().optional(), clusterRole: z.string().optional(), revision: z.string().optional()}); export const kubernetesKubernetesIstioComponentSpec = z.object({deployment: installkubernetesDeployment.optional(), service: installkubernetesService.optional(), serviceAccount: installkubernetesServiceAccount.optional(), CNI: kubernetesCNI.optional(), overlays: z.array(v1alpha1K8sObjectOverlay).optional()}); export const v1alpha1Istio = z.object({tsbVersion: z.string().optional(), mountInternalWasmExtensions: z.boolean().optional(), kubeSpec: kubernetesKubernetesIstioComponentSpec.optional(), traceSamplingRate: z.number().optional(), defaultWorkloadCertTTL: z.string().optional(), maxWorkloadCertTTL: z.string().optional(), trustDomain: z.string().optional(), baseOverlays: z.array(v1alpha1K8sObjectOverlay).optional(), pilotOverlays: z.array(v1alpha1K8sObjectOverlay).optional(), cniOverlays: z.array(v1alpha1K8sObjectOverlay).optional(), logLevels: z.record(z.string(), z.string()).optional()}); export const v1alpha1IstioRevision = z.object({name: z.string(), istio: v1alpha1Istio, disable: z.boolean().optional()}); export const v1alpha1IsolationBoundary = z.object({name: z.string(), revisions: z.array(v1alpha1IstioRevision)}); export const controlplanev1alpha1XCP = z.object({centralAuthMode: xCPCentralAuthMode.optional(), configProtection: commonConfigProtection.optional(), kubeSpec: kubernetesKubernetesComponentSpec.optional(), revision: z.string().optional(), isolationBoundaries: z.array(v1alpha1IsolationBoundary).optional(), enableHttpMeshInternalIdentityPropagation: z.boolean().optional(), centralProvidedCaCert: z.boolean().optional(), logLevels: z.record(z.string(), z.string()).optional()}); export const backendRedisSettings = z.object({uri: z.string()}); export const rateLimitServerBackend = z.object({redis: backendRedisSettings.optional()}); export const v1alpha1RateLimitServer = z.object({backend: rateLimitServerBackend, domain: z.string().optional(), kubeSpec: kubernetesKubernetesComponentSpec.optional()}); export const v1alpha1HpaAdapter = z.object({kubeSpec: kubernetesKubernetesComponentSpec.optional()}); export const v1alpha1OnboardingOperator = z.object({kubeSpec: kubernetesKubernetesComponentSpec.optional(), logLevels: z.record(z.string(), z.string()).optional()}); export const v1alpha1OnboardingRepository = z.object({kubeSpec: kubernetesKubernetesComponentSpec.optional()}); export const v1alpha1OnboardingPlaneInstance = z.object({kubeSpec: kubernetesKubernetesComponentSpec.optional(), logLevels: z.record(z.string(), z.string()).optional()}); export const controlplanev1alpha1OnboardingPlane = z.object({instance: v1alpha1OnboardingPlaneInstance.optional()}); export const v1alpha1Onboarding = z.object({operator: v1alpha1OnboardingOperator.optional(), repository: v1alpha1OnboardingRepository.optional(), plane: controlplanev1alpha1OnboardingPlane.optional()}); export const v1alpha1Satellite = z.object({enabled: z.boolean().optional(), kubeSpec: kubernetesKubernetesComponentSpec.optional(), logLevel: z.string().optional()}); export const v1alpha1NGAC = z.object({enabled: z.boolean().optional(), kubeSpec: kubernetesKubernetesComponentSpec.optional(), logLevels: z.record(z.string(), z.string()).optional()}); export const commonGitOps = z.object({enabled: z.boolean().optional(), reconcileInterval: z.string().optional(), batchWindow: z.string().optional(), managementplaneRequestTimeout: z.string().optional(), reconcileRequestTimeout: z.string().optional(), webhookTimeout: z.string().optional()}); export const certManagerSettingsManaged = z.enum(["AUTO", "EXTERNAL", "INTERNAL"]); export const certManagerSettingsCertManagerSpec = z.object({kubeSpec: kubernetesKubernetesComponentSpec.optional()}); export const certManagerSettingsCertManagerWebhookSpec = z.object({kubeSpec: kubernetesKubernetesComponentSpec.optional()}); export const certManagerSettingsCertManagerCAInjector = z.object({kubeSpec: kubernetesKubernetesComponentSpec.optional()}); export const kubernetesJob = z.object({podAnnotations: z.record(z.string(), z.string()).optional(), env: z.array(installkubernetesEnvVar).optional(), affinity: installkubernetesAffinity.optional(), tolerations: z.array(corev1Toleration).optional(), podSecurityContext: installkubernetesPodSecurityContext.optional(), containerSecurityContext: installkubernetesSecurityContext.optional()}); export const kubernetesKubernetesJobComponentSpec = z.object({deployment: installkubernetesDeployment.optional(), service: installkubernetesService.optional(), job: kubernetesJob.optional(), serviceAccount: installkubernetesServiceAccount.optional(), overlays: z.array(v1alpha1K8sObjectOverlay).optional()}); export const certManagerSettingsCertManagerStartupAPICheck = z.object({kubeSpec: kubernetesKubernetesJobComponentSpec.optional()}); export const commonCertManagerSettings = z.object({managed: certManagerSettingsManaged.optional(), certManagerSpec: certManagerSettingsCertManagerSpec.optional(), certManagerWebhookSpec: certManagerSettingsCertManagerWebhookSpec.optional(), certManagerCaInjector: certManagerSettingsCertManagerCAInjector.optional(), certManagerStartupapicheck: certManagerSettingsCertManagerStartupAPICheck.optional()}); export const commonCustomCertProviderSettings = z.object({csrSignerName: z.string(), caBundleSecretName: z.string()}); export const commonInternalCertProvider = z.object({certManager: commonCertManagerSettings.optional(), custom: commonCustomCertProviderSettings.optional()}); export const kubernetesGlobalDeployment = z.object({podAnnotations: z.record(z.string(), z.string()).optional(), env: z.array(installkubernetesEnvVar).optional(), affinity: installkubernetesAffinity.optional(), strategy: installkubernetesDeploymentStrategy.optional(), tolerations: z.array(corev1Toleration).optional(), podSecurityContext: installkubernetesPodSecurityContext.optional(), containerSecurityContext: installkubernetesSecurityContext.optional()}); export const kubernetesGlobalService = z.object({annotations: z.record(z.string(), z.string()).optional()}); export const kubernetesGlobalJob = z.object({podAnnotations: z.record(z.string(), z.string()).optional(), affinity: installkubernetesAffinity.optional(), tolerations: z.array(corev1Toleration).optional(), podSecurityContext: installkubernetesPodSecurityContext.optional(), containerSecurityContext: installkubernetesSecurityContext.optional()}); export const kubernetesKubernetesSpec = z.object({deployment: kubernetesGlobalDeployment.optional(), service: kubernetesGlobalService.optional(), account: installkubernetesServiceAccount.optional(), job: kubernetesGlobalJob.optional()}); export const v1alpha1WASMFetcher = z.object({cacheDisableInsecureRegistries: z.boolean().optional(), cacheExpiration: z.string().optional(), cacheMaxRetries: z.number().int().optional(), cachePurgeInterval: z.string().optional(), cacheRequestTimeout: z.string().optional(), kubeSpec: kubernetesKubernetesComponentSpec.optional(), logLevels: z.record(z.string(), z.string()).optional()}); export const v1alpha1Route53Controller = z.object({kubeSpec: kubernetesKubernetesComponentSpec.optional()}); export const v1alpha1ControlPlaneComponentSet = z.object({collector: v1alpha1OpenTelemetryCollector.optional(), oap: v1alpha1Oap.optional(), xcp: controlplanev1alpha1XCP.optional(), istio: v1alpha1Istio.optional(), rateLimitServer: v1alpha1RateLimitServer.optional(), hpaAdapter: v1alpha1HpaAdapter.optional(), onboarding: v1alpha1Onboarding.optional(), satellite: v1alpha1Satellite.optional(), ngac: v1alpha1NGAC.optional(), gitops: commonGitOps.optional(), internalCertProvider: commonInternalCertProvider.optional(), defaultKubeSpec: kubernetesKubernetesSpec.optional(), wasmfetcher: v1alpha1WASMFetcher.optional(), defaultLogLevel: z.string().optional(), route53Controller: v1alpha1Route53Controller.optional()}); export const v1alpha1EKSSettings = z.object({useNlbByDefault: z.boolean().optional()}); export const v1alpha1Route53SettingsNamespaceSelector = z.object({namespace: z.string().optional(), ignoreNamespaces: z.string().optional()}); export const route53SettingsPolicy = z.enum(["SYNC", "UPSERT_ONLY", "CREATE_ONLY"]); export const filterSettingsAWSZoneType = z.enum(["NONE", "PUBLIC", "PRIVATE"]); export const route53SettingsFilterSettings = z.object({annotationFilter: z.string().optional(), labelFilter: z.string().optional(), excludeDomain: z.array(z.string()).optional(), zoneType: filterSettingsAWSZoneType.optional(), zoneTagFilter: z.array(z.string()).optional(), zoneIdFilter: z.array(z.string()).optional()}); export const v1alpha1Route53Settings = z.object({serviceAccountName: z.string(), namespaceSelector: v1alpha1Route53SettingsNamespaceSelector.optional(), policy: route53SettingsPolicy.optional(), domainFilter: z.array(z.string()).optional(), interval: z.string().optional(), ttl: z.string().optional(), evaluateTargetHealth: z.boolean().optional(), filterSettings: route53SettingsFilterSettings.optional()}); export const v1alpha1ProviderSettings = z.object({eks: v1alpha1EKSSettings.optional(), route53: v1alpha1Route53Settings.optional()}); export const v1alpha1ManagementPlaneSettings = z.object({host: z.string(), port: z.number().int(), selfSigned: z.boolean().optional(), clusterName: z.string()}); export const meshExpansionSettingsGateway = z.object({host: z.string(), port: z.number().int()}); export const onboardingPlaneEndpoint = z.object({hosts: z.array(z.string()), secretName: z.string()}); export const tokenIssuerJwtTokenIssuer = z.object({expiration: z.string().optional()}); export const onboardingPlaneTokenIssuer = z.object({jwt: tokenIssuerJwtTokenIssuer.optional()}); export const onboardingPlaneLocalRepository = z.object({}); export const v1alpha1JwtTokenField = z.object({jsonPath: z.string()}); export const v1alpha1JwtTokenFields = z.object({attributes: v1alpha1JwtTokenField.optional()}); export const v1alpha1JwtIssuer = z.object({issuer: z.string(), jwksUri: z.string().optional(), jwks: z.string().optional(), shortName: z.string(), tokenFields: v1alpha1JwtTokenFields.optional()}); export const v1alpha1JwtAuthenticationConfiguration = z.object({issuers: z.array(v1alpha1JwtIssuer).optional()}); export const v1alpha1WorkloadAuthenticationConfiguration = z.object({jwt: v1alpha1JwtAuthenticationConfiguration.optional()}); export const v1alpha1WorkloadDeregistrationConfiguration = z.object({propagationDelay: z.string().optional()}); export const v1alpha1WorkloadConfiguration = z.object({authentication: v1alpha1WorkloadAuthenticationConfiguration.optional(), deregistration: v1alpha1WorkloadDeregistrationConfiguration.optional()}); export const v1alpha1MeshExpansionSettingsOnboardingPlane = z.object({uid: z.string().optional(), endpoint: onboardingPlaneEndpoint, tokenIssuer: onboardingPlaneTokenIssuer.optional(), localRepository: onboardingPlaneLocalRepository.optional(), workloads: v1alpha1WorkloadConfiguration.optional()}); export const v1alpha1MeshExpansionSettings = z.object({customGateway: meshExpansionSettingsGateway.optional(), onboarding: v1alpha1MeshExpansionSettingsOnboardingPlane.optional()}); export const elasticSearchSettingsProtocol = z.enum(["https", "http"]); export const v1alpha1ElasticSearchSettings = z.object({host: z.string(), port: z.number().int(), protocol: elasticSearchSettingsProtocol.optional(), selfSigned: z.boolean().optional(), version: z.number().int().optional()}); export const controlPlaneSpecTelemetryStore = z.object({elastic: v1alpha1ElasticSearchSettings.optional()}); export const commonMeshObservabilitySettings = z.object({apiEndpointMetricsEnabled: z.boolean().optional()}); export const controlPlaneSpecMeshObservability = z.object({demoSettings: commonMeshObservabilitySettings.optional(), settings: commonMeshObservabilitySettings.optional()}); export const v1alpha1ControlPlaneSpec = z.object({hub: z.string(), imagePullSecrets: z.array(installkubernetesLocalObjectReference).optional(), components: v1alpha1ControlPlaneComponentSet.optional(), providerSettings: v1alpha1ProviderSettings.optional(), managementPlane: v1alpha1ManagementPlaneSettings, meshExpansion: v1alpha1MeshExpansionSettings.optional(), telemetryStore: controlPlaneSpecTelemetryStore, meshObservability: controlPlaneSpecMeshObservability.optional(), tier1Cluster: z.boolean().optional()}); export const secretsTSB = z.object({cacert: z.string().optional()}); export const secretsElasticSearch = z.object({username: z.string().optional(), password: z.string().optional(), cacert: z.string().optional()}); export const xCPEdge = z.object({cert: z.string().optional(), key: z.string().optional(), token: z.string().optional()}); export const v1alpha1SecretsXCP = z.object({autoGenerateCerts: z.boolean().optional(), rootca: z.string().optional(), rootcakey: z.string().optional(), edge: xCPEdge.optional()}); export const secretsClusterServiceAccount = z.object({clusterFQN: z.string().optional(), JWK: z.string().optional(), encodedJWK: z.string().optional()}); export const v1alpha1Secrets = z.object({tsb: secretsTSB.optional(), elasticsearch: secretsElasticSearch.optional(), xcp: v1alpha1SecretsXCP.optional(), clusterServiceAccount: secretsClusterServiceAccount.optional()}); export const v1alpha1OperatorDeployment = z.object({affinity: installkubernetesAffinity.optional(), annotations: z.record(z.string(), z.string()).optional(), env: z.array(installkubernetesEnvVar).optional(), podAnnotations: z.record(z.string(), z.string()).optional(), replicaCount: z.number().int().optional(), strategy: installkubernetesDeploymentStrategy.optional(), tolerations: z.array(corev1Toleration).optional()}); export const v1alpha1OperatorService = z.object({annotations: z.record(z.string(), z.string()).optional()}); export const v1alpha1OperatorServiceAccount = z.object({annotations: z.record(z.string(), z.string()).optional(), imagePullSecrets: z.array(z.string()).optional(), pullSecret: z.string().optional(), pullUsername: z.string().optional(), pullPassword: z.string().optional()}); export const v1alpha1Operator = z.object({deployment: v1alpha1OperatorDeployment.optional(), service: v1alpha1OperatorService.optional(), serviceAccount: v1alpha1OperatorServiceAccount.optional()}); export const v1alpha1Values = z.object({image: commonv1alpha1Image.optional(), spec: v1alpha1ControlPlaneSpec.optional(), secrets: v1alpha1Secrets.optional(), operator: v1alpha1Operator.optional()}); export const clusterInstallTemplate = z.object({message: z.string().optional(), helm: v1alpha1Values.optional()}); export const v2Cluster = z.object({fqn: z.string().optional(), displayName: z.string().optional(), etag: z.string().optional(), description: z.string().optional(), tokenTtl: z.string().optional(), network: z.string().optional(), tier1Cluster: z.boolean().optional(), namespaces: z.array(tsbv2Namespace).optional(), labels: z.record(z.string(), z.string()).optional(), locality: v2Locality.optional(), trustDomain: z.string().optional(), namespaceScope: v2NamespaceScoping.optional(), state: clusterState.optional(), serviceAccount: tsbv2ServiceAccount.optional(), installTemplate: clusterInstallTemplate.optional()}); export const v2ListClustersResponse = z.object({clusters: z.array(v2Cluster).optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Get the list of all clusters that have been onboarded into the platform. * * GET /v2/organizations/{organization}/clusters */ export const getApiV2OrganizationsOrganizationClusters = async (args: GetApiV2OrganizationsOrganizationClustersArgs, options: GetApiV2OrganizationsOrganizationClustersOptions) => { const {baseUrl, fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (args.fetchWorkloads != null) query.append("fetchWorkloads", String(args.fetchWorkloads)) const url = `${baseUrl.replace(/\/+$/, '')}/v2/organizations/${encodeURIComponent(String(args.organization))}/clusters${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(v2ListClustersResponse, await res.json()) };