import {z} from 'zod' export type GetApiV1beta1ProjectsProjectAnalysisTemplatesAnalysisTemplateArgs = {project: string, 'analysis-template': string}; export type GetApiV1beta1ProjectsProjectAnalysisTemplatesAnalysisTemplateOptions = {baseUrl: string, BearerAuth?: string | undefined, fetch?: typeof fetch | undefined}; export const v1FieldsV1 = z.unknown(); export const v1ManagedFieldsEntry = z.object({apiVersion: z.string().optional(), fieldsType: z.string().optional(), fieldsV1: v1FieldsV1.optional(), manager: z.string().optional(), operation: z.string().optional(), subresource: z.string().optional(), time: z.string().optional()}); export const v1OwnerReference = z.object({apiVersion: z.string().optional(), blockOwnerDeletion: z.boolean().optional(), controller: z.boolean().optional(), kind: z.string().optional(), name: z.string().optional(), uid: z.string().optional()}); export const v1ObjectMeta = z.object({annotations: z.record(z.string(), z.string()).optional(), creationTimestamp: z.string().optional(), deletionGracePeriodSeconds: z.number().int().optional(), deletionTimestamp: z.string().optional(), finalizers: z.array(z.string()).optional(), generateName: z.string().optional(), generation: z.number().int().optional(), labels: z.record(z.string(), z.string()).optional(), managedFields: z.array(v1ManagedFieldsEntry).optional(), name: z.string().optional(), namespace: z.string().optional(), ownerReferences: z.array(v1OwnerReference).optional(), resourceVersion: z.string().optional(), selfLink: z.string().optional(), uid: z.string().optional()}); export const rolloutsFieldRef = z.object({fieldPath: z.string().optional()}); export const rolloutsSecretKeyRef = z.object({key: z.string().optional(), name: z.string().optional()}); export const rolloutsValueFrom = z.object({fieldRef: rolloutsFieldRef.optional(), secretKeyRef: rolloutsSecretKeyRef.optional()}); export const rolloutsArgument = z.object({name: z.string().optional(), value: z.string().optional(), valueFrom: rolloutsValueFrom.optional()}); export const rolloutsDryRun = z.object({metricName: z.string().optional()}); export const rolloutsMeasurementRetention = z.object({limit: z.number().int().optional(), metricName: z.string().optional()}); export const rolloutsCloudWatchMetricStatMetricDimension = z.object({name: z.string().optional(), value: z.string().optional()}); export const rolloutsCloudWatchMetricStatMetric = z.object({dimensions: z.array(rolloutsCloudWatchMetricStatMetricDimension).optional(), metricName: z.string().optional(), namespace: z.string().optional()}); export const rolloutsCloudWatchMetricStat = z.object({metric: rolloutsCloudWatchMetricStatMetric.optional(), period: z.unknown(), stat: z.string().optional(), unit: z.string().optional()}); export const rolloutsCloudWatchMetricDataQuery = z.object({expression: z.string().optional(), id: z.string().optional(), label: z.string().optional(), metricStat: rolloutsCloudWatchMetricStat.optional(), period: z.unknown(), returnData: z.boolean().optional()}); export const rolloutsCloudWatchMetric = z.object({interval: z.string().optional(), metricDataQueries: z.array(rolloutsCloudWatchMetricDataQuery).optional()}); export const rolloutsSecretRef = z.object({name: z.string().optional(), namespaced: z.boolean().optional()}); export const rolloutsDatadogMetric = z.object({aggregator: z.string().optional(), apiVersion: z.string().optional(), formula: z.string().optional(), interval: z.string().optional(), queries: z.record(z.string(), z.string()).optional(), query: z.string().optional(), secretRef: rolloutsSecretRef.optional()}); export const rolloutsGraphiteMetric = z.object({address: z.string().optional(), query: z.string().optional()}); export const rolloutsInfluxdbMetric = z.object({profile: z.string().optional(), query: z.string().optional()}); export const v1CompletionMode = z.enum(["NonIndexed", "Indexed"]); export const v1PodFailurePolicyAction = z.enum(["FailJob", "FailIndex", "Ignore", "Count"]); export const v1PodFailurePolicyOnExitCodesOperator = z.enum(["In", "NotIn"]); export const v1PodFailurePolicyOnExitCodesRequirement = z.object({containerName: z.string().optional(), operator: v1PodFailurePolicyOnExitCodesOperator.optional(), values: z.array(z.number().int()).optional()}); export const v1PodFailurePolicyOnPodConditionsPattern = z.object({status: z.string().optional(), type: z.string().optional()}); export const v1PodFailurePolicyRule = z.object({action: v1PodFailurePolicyAction.optional(), onExitCodes: v1PodFailurePolicyOnExitCodesRequirement.optional(), onPodConditions: z.array(v1PodFailurePolicyOnPodConditionsPattern).optional()}); export const v1PodFailurePolicy = z.object({rules: z.array(v1PodFailurePolicyRule).optional()}); export const v1PodReplacementPolicy = z.enum(["TerminatingOrFailed", "Failed"]); export const v1alpha3WorkloadPodGroupAllDisruptionMode = z.unknown(); export const v1alpha3WorkloadPodGroupSingleDisruptionMode = z.unknown(); export const v1alpha3WorkloadPodGroupDisruptionMode = z.object({all: v1alpha3WorkloadPodGroupAllDisruptionMode.optional(), single: v1alpha3WorkloadPodGroupSingleDisruptionMode.optional()}); export const v1alpha3WorkloadPodGroupResourceClaim = z.object({name: z.string().optional(), resourceClaimName: z.string().optional(), resourceClaimTemplateName: z.string().optional()}); export const v1alpha3TopologyConstraint = z.object({key: z.string().optional()}); export const v1alpha3WorkloadPodGroupSchedulingConstraints = z.object({topology: z.array(v1alpha3TopologyConstraint).optional()}); export const v1alpha3WorkloadPodGroupBasicSchedulingPolicy = z.unknown(); export const v1alpha3WorkloadPodGroupGangSchedulingPolicy = z.object({minCount: z.number().int().optional()}); export const v1alpha3WorkloadPodGroupSchedulingPolicy = z.object({basic: v1alpha3WorkloadPodGroupBasicSchedulingPolicy.optional(), gang: v1alpha3WorkloadPodGroupGangSchedulingPolicy.optional()}); export const v1JobSchedulingConfiguration = z.object({disruptionMode: v1alpha3WorkloadPodGroupDisruptionMode.optional(), resourceClaims: z.array(v1alpha3WorkloadPodGroupResourceClaim).optional(), schedulingConstraints: v1alpha3WorkloadPodGroupSchedulingConstraints.optional(), schedulingPolicy: v1alpha3WorkloadPodGroupSchedulingPolicy.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({matchExpressions: z.array(v1LabelSelectorRequirement).optional(), matchLabels: z.record(z.string(), z.string()).optional()}); export const v1SuccessPolicyRule = z.object({succeededCount: z.number().int().optional(), succeededIndexes: z.string().optional()}); export const v1SuccessPolicy = z.object({rules: z.array(v1SuccessPolicyRule).optional()}); export const v1NodeSelectorRequirement = z.object({key: z.string().optional(), operator: z.string().optional(), values: z.array(z.string()).optional()}); export const v1NodeSelectorTerm = z.object({matchExpressions: z.array(v1NodeSelectorRequirement).optional(), matchFields: z.array(v1NodeSelectorRequirement).optional()}); export const v1PreferredSchedulingTerm = z.object({preference: v1NodeSelectorTerm.optional(), weight: z.number().int().optional()}); export const v1NodeSelector = z.object({nodeSelectorTerms: z.array(v1NodeSelectorTerm).optional()}); export const v1NodeAffinity = z.object({preferredDuringSchedulingIgnoredDuringExecution: z.array(v1PreferredSchedulingTerm).optional(), requiredDuringSchedulingIgnoredDuringExecution: v1NodeSelector.optional()}); export const v1PodAffinityTerm = z.object({labelSelector: v1LabelSelector.optional(), matchLabelKeys: z.array(z.string()).optional(), mismatchLabelKeys: z.array(z.string()).optional(), namespaceSelector: v1LabelSelector.optional(), namespaces: z.array(z.string()).optional(), topologyKey: z.string().optional()}); export const v1WeightedPodAffinityTerm = z.object({podAffinityTerm: v1PodAffinityTerm.optional(), weight: z.number().int().optional()}); export const v1PodAffinity = z.object({preferredDuringSchedulingIgnoredDuringExecution: z.array(v1WeightedPodAffinityTerm).optional(), requiredDuringSchedulingIgnoredDuringExecution: z.array(v1PodAffinityTerm).optional()}); export const v1PodAntiAffinity = z.object({preferredDuringSchedulingIgnoredDuringExecution: z.array(v1WeightedPodAffinityTerm).optional(), requiredDuringSchedulingIgnoredDuringExecution: z.array(v1PodAffinityTerm).optional()}); export const v1Affinity = z.object({nodeAffinity: v1NodeAffinity.optional(), podAffinity: v1PodAffinity.optional(), podAntiAffinity: v1PodAntiAffinity.optional()}); export const v1ConfigMapKeySelector = z.object({key: z.string().optional(), name: z.string().optional(), optional: z.boolean().optional()}); export const v1ObjectFieldSelector = z.object({apiVersion: z.string().optional(), fieldPath: z.string().optional()}); export const v1FileKeySelector = z.object({key: z.string().optional(), optional: z.boolean().optional(), path: z.string().optional(), volumeName: z.string().optional()}); export const v1ResourceFieldSelector = z.object({containerName: z.string().optional(), divisor: z.string().optional(), resource: z.string().optional()}); export const v1SecretKeySelector = z.object({key: z.string().optional(), name: z.string().optional(), optional: z.boolean().optional()}); export const v1EnvVarSource = z.object({configMapKeyRef: v1ConfigMapKeySelector.optional(), fieldRef: v1ObjectFieldSelector.optional(), fileKeyRef: v1FileKeySelector.optional(), resourceFieldRef: v1ResourceFieldSelector.optional(), secretKeyRef: v1SecretKeySelector.optional()}); export const v1EnvVar = z.object({name: z.string().optional(), value: z.string().optional(), valueFrom: v1EnvVarSource.optional()}); export const v1ConfigMapEnvSource = z.object({name: z.string().optional(), optional: z.boolean().optional()}); export const v1SecretEnvSource = z.object({name: z.string().optional(), optional: z.boolean().optional()}); export const v1EnvFromSource = z.object({configMapRef: v1ConfigMapEnvSource.optional(), prefix: z.string().optional(), secretRef: v1SecretEnvSource.optional()}); export const v1ExecAction = z.object({command: z.array(z.string()).optional()}); export const v1HTTPHeader = z.object({name: z.string().optional(), value: z.string().optional()}); export const v1HTTPProtocol = z.enum(["HTTP1", "HTTP2"]); export const v1HTTPGetAction = z.object({host: z.string().optional(), httpHeaders: z.array(v1HTTPHeader).optional(), path: z.string().optional(), port: z.unknown(), protocol: v1HTTPProtocol.optional(), scheme: z.string().optional()}); export const v1SleepAction = z.object({seconds: z.number().int().optional()}); export const v1TCPSocketAction = z.object({host: z.string().optional(), port: z.unknown()}); export const v1LifecycleHandler = z.object({exec: v1ExecAction.optional(), httpGet: v1HTTPGetAction.optional(), sleep: v1SleepAction.optional(), tcpSocket: v1TCPSocketAction.optional()}); export const v1Lifecycle = z.object({postStart: v1LifecycleHandler.optional(), preStop: v1LifecycleHandler.optional(), stopSignal: z.string().optional()}); export const v1GRPCProbeMode = z.enum(["Plaintext", "TLS"]); export const v1GRPCAction = z.object({mode: v1GRPCProbeMode.optional(), port: z.number().int().optional(), service: z.string().optional()}); export const v1Probe = z.object({exec: v1ExecAction.optional(), failureThreshold: z.number().int().optional(), grpc: v1GRPCAction.optional(), httpGet: v1HTTPGetAction.optional(), initialDelaySeconds: z.number().int().optional(), periodSeconds: z.number().int().optional(), successThreshold: z.number().int().optional(), tcpSocket: v1TCPSocketAction.optional(), terminationGracePeriodSeconds: z.number().int().optional(), timeoutSeconds: z.number().int().optional()}); export const v1ContainerPort = z.object({containerPort: z.number().int().optional(), hostIP: z.string().optional(), hostPort: z.number().int().optional(), name: z.string().optional(), protocol: z.string().optional()}); export const v1ContainerResizePolicy = z.object({resourceName: z.string().optional(), restartPolicy: z.string().optional()}); export const v1ResourceClaim = z.object({name: z.string().optional(), request: z.string().optional()}); export const v1ResourceList = z.record(z.string(), z.string()); export const v1ResourceRequirements = z.object({claims: z.array(v1ResourceClaim).optional(), limits: v1ResourceList.optional(), requests: v1ResourceList.optional()}); export const v1ContainerRestartRuleOnExitCodes = z.object({operator: z.string().optional(), values: z.array(z.number().int()).optional()}); export const v1ContainerRestartRule = z.object({action: z.string().optional(), exitCodes: v1ContainerRestartRuleOnExitCodes.optional()}); export const v1AppArmorProfile = z.object({localhostProfile: z.string().optional(), type: z.string().optional()}); export const v1Capabilities = z.object({add: z.array(z.string()).optional(), drop: z.array(z.string()).optional()}); export const v1SELinuxOptions = z.object({level: z.string().optional(), role: z.string().optional(), type: z.string().optional(), user: z.string().optional()}); export const v1SeccompProfile = z.object({localhostProfile: z.string().optional(), type: z.string().optional()}); export const v1WindowsSecurityContextOptions = z.object({gmsaCredentialSpec: z.string().optional(), gmsaCredentialSpecName: z.string().optional(), hostProcess: z.boolean().optional(), runAsUserName: z.string().optional()}); export const v1SecurityContext = z.object({allowPrivilegeEscalation: z.boolean().optional(), appArmorProfile: v1AppArmorProfile.optional(), capabilities: v1Capabilities.optional(), privileged: z.boolean().optional(), procMount: z.string().optional(), readOnlyRootFilesystem: z.boolean().optional(), runAsGroup: z.number().int().optional(), runAsNonRoot: z.boolean().optional(), runAsUser: z.number().int().optional(), seLinuxOptions: v1SELinuxOptions.optional(), seccompProfile: v1SeccompProfile.optional(), windowsOptions: v1WindowsSecurityContextOptions.optional()}); export const v1VolumeDevice = z.object({devicePath: z.string().optional(), name: z.string().optional()}); export const v1VolumeMount = z.object({bindMountOptions: z.array(z.string()).optional(), mountPath: z.string().optional(), mountPropagation: z.string().optional(), name: z.string().optional(), readOnly: z.boolean().optional(), recursiveReadOnly: z.string().optional(), subPath: z.string().optional(), subPathExpr: z.string().optional()}); export const v1Container = z.object({args: z.array(z.string()).optional(), command: z.array(z.string()).optional(), env: z.array(v1EnvVar).optional(), envFrom: z.array(v1EnvFromSource).optional(), image: z.string().optional(), imagePullPolicy: z.string().optional(), lifecycle: v1Lifecycle.optional(), livenessProbe: v1Probe.optional(), name: z.string().optional(), ports: z.array(v1ContainerPort).optional(), readinessProbe: v1Probe.optional(), resizePolicy: z.array(v1ContainerResizePolicy).optional(), resources: v1ResourceRequirements.optional(), restartPolicy: z.string().optional(), restartPolicyRules: z.array(v1ContainerRestartRule).optional(), securityContext: v1SecurityContext.optional(), startupProbe: v1Probe.optional(), stdin: z.boolean().optional(), stdinOnce: z.boolean().optional(), terminationMessagePath: z.string().optional(), terminationMessagePolicy: z.string().optional(), tty: z.boolean().optional(), volumeDevices: z.array(v1VolumeDevice).optional(), volumeMounts: z.array(v1VolumeMount).optional(), workingDir: z.string().optional()}); export const v1PodDNSConfigOption = z.object({name: z.string().optional(), value: z.string().optional()}); export const v1PodDNSConfig = z.object({nameservers: z.array(z.string()).optional(), options: z.array(v1PodDNSConfigOption).optional(), searches: z.array(z.string()).optional()}); export const v1EphemeralContainer = z.object({args: z.array(z.string()).optional(), command: z.array(z.string()).optional(), env: z.array(v1EnvVar).optional(), envFrom: z.array(v1EnvFromSource).optional(), image: z.string().optional(), imagePullPolicy: z.string().optional(), lifecycle: v1Lifecycle.optional(), livenessProbe: v1Probe.optional(), name: z.string().optional(), ports: z.array(v1ContainerPort).optional(), readinessProbe: v1Probe.optional(), resizePolicy: z.array(v1ContainerResizePolicy).optional(), resources: v1ResourceRequirements.optional(), restartPolicy: z.string().optional(), restartPolicyRules: z.array(v1ContainerRestartRule).optional(), securityContext: v1SecurityContext.optional(), startupProbe: v1Probe.optional(), stdin: z.boolean().optional(), stdinOnce: z.boolean().optional(), targetContainerName: z.string().optional(), terminationMessagePath: z.string().optional(), terminationMessagePolicy: z.string().optional(), tty: z.boolean().optional(), volumeDevices: z.array(v1VolumeDevice).optional(), volumeMounts: z.array(v1VolumeMount).optional(), workingDir: z.string().optional()}); export const v1EvictionResponder = z.object({name: z.string().optional(), priority: z.number().int().optional()}); export const v1HostAlias = z.object({hostnames: z.array(z.string()).optional(), ip: z.string().optional()}); export const v1LocalObjectReference = z.object({name: z.string().optional()}); export const v1PodOS = z.object({name: z.string().optional()}); export const v1PodReadinessGate = z.object({conditionType: z.string().optional()}); export const v1PodResourceClaim = z.object({name: z.string().optional(), resourceClaimName: z.string().optional(), resourceClaimTemplateName: z.string().optional()}); export const v1PodSchedulingGate = z.object({name: z.string().optional()}); export const v1PodSchedulingGroup = z.object({podGroupName: z.string().optional()}); export const v1Sysctl = z.object({name: z.string().optional(), value: z.string().optional()}); export const v1PodSecurityContext = z.object({appArmorProfile: v1AppArmorProfile.optional(), fsGroup: z.number().int().optional(), fsGroupChangePolicy: z.string().optional(), runAsGroup: z.number().int().optional(), runAsNonRoot: z.boolean().optional(), runAsUser: z.number().int().optional(), seLinuxChangePolicy: z.string().optional(), seLinuxOptions: v1SELinuxOptions.optional(), seccompProfile: v1SeccompProfile.optional(), supplementalGroups: z.array(z.number().int()).optional(), supplementalGroupsPolicy: z.string().optional(), sysctls: z.array(v1Sysctl).optional(), windowsOptions: v1WindowsSecurityContextOptions.optional()}); export const v1Toleration = z.object({effect: z.string().optional(), key: z.string().optional(), operator: z.string().optional(), tolerationSeconds: z.number().int().optional(), value: z.string().optional()}); export const v1TopologySpreadConstraint = z.object({labelSelector: v1LabelSelector.optional(), matchLabelKeys: z.array(z.string()).optional(), maxSkew: z.number().int().optional(), minDomains: z.number().int().optional(), nodeAffinityPolicy: z.string().optional(), nodeTaintsPolicy: z.string().optional(), topologyKey: z.string().optional(), whenUnsatisfiable: z.string().optional()}); export const v1AWSElasticBlockStoreVolumeSource = z.object({fsType: z.string().optional(), partition: z.number().int().optional(), readOnly: z.boolean().optional(), volumeID: z.string().optional()}); export const v1AzureDiskVolumeSource = z.object({cachingMode: z.string().optional(), diskName: z.string().optional(), diskURI: z.string().optional(), fsType: z.string().optional(), kind: z.string().optional(), readOnly: z.boolean().optional()}); export const v1AzureFileVolumeSource = z.object({readOnly: z.boolean().optional(), secretName: z.string().optional(), shareName: z.string().optional()}); export const v1CephFSVolumeSource = z.object({monitors: z.array(z.string()).optional(), path: z.string().optional(), readOnly: z.boolean().optional(), secretFile: z.string().optional(), secretRef: v1LocalObjectReference.optional(), user: z.string().optional()}); export const v1CinderVolumeSource = z.object({fsType: z.string().optional(), readOnly: z.boolean().optional(), secretRef: v1LocalObjectReference.optional(), volumeID: z.string().optional()}); export const v1KeyToPath = z.object({key: z.string().optional(), mode: z.number().int().optional(), path: z.string().optional(), user: z.number().int().optional()}); export const v1ConfigMapVolumeSource = z.object({defaultMode: z.number().int().optional(), defaultUser: z.number().int().optional(), items: z.array(v1KeyToPath).optional(), name: z.string().optional(), optional: z.boolean().optional()}); export const v1CSIVolumeSource = z.object({driver: z.string().optional(), fsType: z.string().optional(), nodePublishSecretRef: v1LocalObjectReference.optional(), readOnly: z.boolean().optional(), volumeAttributes: z.record(z.string(), z.string()).optional()}); export const v1DownwardAPIVolumeFile = z.object({fieldRef: v1ObjectFieldSelector.optional(), mode: z.number().int().optional(), path: z.string().optional(), resourceFieldRef: v1ResourceFieldSelector.optional(), user: z.number().int().optional()}); export const v1DownwardAPIVolumeSource = z.object({defaultMode: z.number().int().optional(), defaultUser: z.number().int().optional(), items: z.array(v1DownwardAPIVolumeFile).optional()}); export const v1EmptyDirVolumeSource = z.object({medium: z.string().optional(), mode: z.number().int().optional(), sizeLimit: z.string().optional()}); export const v1TypedLocalObjectReference = z.object({apiGroup: z.string().optional(), kind: z.string().optional(), name: z.string().optional()}); export const v1TypedObjectReference = z.object({apiGroup: z.string().optional(), kind: z.string().optional(), name: z.string().optional(), namespace: z.string().optional()}); export const v1VolumeResourceRequirements = z.object({limits: v1ResourceList.optional(), requests: v1ResourceList.optional()}); export const v1PersistentVolumeClaimSpec = z.object({accessModes: z.array(z.string()).optional(), dataSource: v1TypedLocalObjectReference.optional(), dataSourceRef: v1TypedObjectReference.optional(), resources: v1VolumeResourceRequirements.optional(), selector: v1LabelSelector.optional(), storageClassName: z.string().optional(), volumeAttributesClassName: z.string().optional(), volumeMode: z.string().optional(), volumeName: z.string().optional()}); export const v1PersistentVolumeClaimTemplate = z.object({metadata: v1ObjectMeta.optional(), spec: v1PersistentVolumeClaimSpec.optional()}); export const v1EphemeralVolumeSource = z.object({volumeClaimTemplate: v1PersistentVolumeClaimTemplate.optional()}); export const v1FCVolumeSource = z.object({fsType: z.string().optional(), lun: z.number().int().optional(), readOnly: z.boolean().optional(), targetWWNs: z.array(z.string()).optional(), wwids: z.array(z.string()).optional()}); export const v1FlexVolumeSource = z.object({driver: z.string().optional(), fsType: z.string().optional(), options: z.record(z.string(), z.string()).optional(), readOnly: z.boolean().optional(), secretRef: v1LocalObjectReference.optional()}); export const v1FlockerVolumeSource = z.object({datasetName: z.string().optional(), datasetUUID: z.string().optional()}); export const v1GCEPersistentDiskVolumeSource = z.object({fsType: z.string().optional(), partition: z.number().int().optional(), pdName: z.string().optional(), readOnly: z.boolean().optional()}); export const v1GitRepoVolumeSource = z.object({directory: z.string().optional(), repository: z.string().optional(), revision: z.string().optional()}); export const v1GlusterfsVolumeSource = z.object({endpoints: z.string().optional(), path: z.string().optional(), readOnly: z.boolean().optional()}); export const v1HostPathVolumeSource = z.object({path: z.string().optional(), type: z.string().optional()}); export const v1ImageVolumeSource = z.object({pullPolicy: z.string().optional(), reference: z.string().optional()}); export const v1ISCSIVolumeSource = z.object({chapAuthDiscovery: z.boolean().optional(), chapAuthSession: z.boolean().optional(), fsType: z.string().optional(), initiatorName: z.string().optional(), iqn: z.string().optional(), iscsiInterface: z.string().optional(), lun: z.number().int().optional(), portals: z.array(z.string()).optional(), readOnly: z.boolean().optional(), secretRef: v1LocalObjectReference.optional(), targetPortal: z.string().optional()}); export const v1NFSVolumeSource = z.object({path: z.string().optional(), readOnly: z.boolean().optional(), server: z.string().optional()}); export const v1PersistentVolumeClaimVolumeSource = z.object({claimName: z.string().optional(), readOnly: z.boolean().optional()}); export const v1PhotonPersistentDiskVolumeSource = z.object({fsType: z.string().optional(), pdID: z.string().optional()}); export const v1PortworxVolumeSource = z.object({fsType: z.string().optional(), readOnly: z.boolean().optional(), volumeID: z.string().optional()}); export const v1ClusterTrustBundleProjection = z.object({labelSelector: v1LabelSelector.optional(), name: z.string().optional(), optional: z.boolean().optional(), path: z.string().optional(), signerName: z.string().optional(), user: z.number().int().optional()}); export const v1ConfigMapProjection = z.object({items: z.array(v1KeyToPath).optional(), name: z.string().optional(), optional: z.boolean().optional()}); export const v1DownwardAPIProjection = z.object({items: z.array(v1DownwardAPIVolumeFile).optional()}); export const v1PodCertificateProjection = z.object({certificateChainPath: z.string().optional(), credentialBundlePath: z.string().optional(), keyPath: z.string().optional(), keyType: z.string().optional(), maxExpirationSeconds: z.number().int().optional(), signerName: z.string().optional(), user: z.number().int().optional(), userAnnotations: z.record(z.string(), z.string()).optional()}); export const v1SecretProjection = z.object({items: z.array(v1KeyToPath).optional(), name: z.string().optional(), optional: z.boolean().optional()}); export const v1ServiceAccountTokenProjection = z.object({audience: z.string().optional(), expirationSeconds: z.number().int().optional(), path: z.string().optional(), user: z.number().int().optional()}); export const v1VolumeProjection = z.object({clusterTrustBundle: v1ClusterTrustBundleProjection.optional(), configMap: v1ConfigMapProjection.optional(), downwardAPI: v1DownwardAPIProjection.optional(), podCertificate: v1PodCertificateProjection.optional(), secret: v1SecretProjection.optional(), serviceAccountToken: v1ServiceAccountTokenProjection.optional()}); export const v1ProjectedVolumeSource = z.object({defaultMode: z.number().int().optional(), defaultUser: z.number().int().optional(), sources: z.array(v1VolumeProjection).optional()}); export const v1QuobyteVolumeSource = z.object({group: z.string().optional(), readOnly: z.boolean().optional(), registry: z.string().optional(), tenant: z.string().optional(), user: z.string().optional(), volume: z.string().optional()}); export const v1RBDVolumeSource = z.object({fsType: z.string().optional(), image: z.string().optional(), keyring: z.string().optional(), monitors: z.array(z.string()).optional(), pool: z.string().optional(), readOnly: z.boolean().optional(), secretRef: v1LocalObjectReference.optional(), user: z.string().optional()}); export const v1ScaleIOVolumeSource = z.object({fsType: z.string().optional(), gateway: z.string().optional(), protectionDomain: z.string().optional(), readOnly: z.boolean().optional(), secretRef: v1LocalObjectReference.optional(), sslEnabled: z.boolean().optional(), storageMode: z.string().optional(), storagePool: z.string().optional(), system: z.string().optional(), volumeName: z.string().optional()}); export const v1SecretVolumeSource = z.object({defaultMode: z.number().int().optional(), defaultUser: z.number().int().optional(), items: z.array(v1KeyToPath).optional(), optional: z.boolean().optional(), secretName: z.string().optional()}); export const v1StorageOSVolumeSource = z.object({fsType: z.string().optional(), readOnly: z.boolean().optional(), secretRef: v1LocalObjectReference.optional(), volumeName: z.string().optional(), volumeNamespace: z.string().optional()}); export const v1VsphereVirtualDiskVolumeSource = z.object({fsType: z.string().optional(), storagePolicyID: z.string().optional(), storagePolicyName: z.string().optional(), volumePath: z.string().optional()}); export const v1Volume = z.object({awsElasticBlockStore: v1AWSElasticBlockStoreVolumeSource.optional(), azureDisk: v1AzureDiskVolumeSource.optional(), azureFile: v1AzureFileVolumeSource.optional(), cephfs: v1CephFSVolumeSource.optional(), cinder: v1CinderVolumeSource.optional(), configMap: v1ConfigMapVolumeSource.optional(), csi: v1CSIVolumeSource.optional(), downwardAPI: v1DownwardAPIVolumeSource.optional(), emptyDir: v1EmptyDirVolumeSource.optional(), ephemeral: v1EphemeralVolumeSource.optional(), fc: v1FCVolumeSource.optional(), flexVolume: v1FlexVolumeSource.optional(), flocker: v1FlockerVolumeSource.optional(), gcePersistentDisk: v1GCEPersistentDiskVolumeSource.optional(), gitRepo: v1GitRepoVolumeSource.optional(), glusterfs: v1GlusterfsVolumeSource.optional(), hostPath: v1HostPathVolumeSource.optional(), image: v1ImageVolumeSource.optional(), iscsi: v1ISCSIVolumeSource.optional(), name: z.string().optional(), nfs: v1NFSVolumeSource.optional(), persistentVolumeClaim: v1PersistentVolumeClaimVolumeSource.optional(), photonPersistentDisk: v1PhotonPersistentDiskVolumeSource.optional(), portworxVolume: v1PortworxVolumeSource.optional(), projected: v1ProjectedVolumeSource.optional(), quobyte: v1QuobyteVolumeSource.optional(), rbd: v1RBDVolumeSource.optional(), scaleIO: v1ScaleIOVolumeSource.optional(), secret: v1SecretVolumeSource.optional(), storageos: v1StorageOSVolumeSource.optional(), vsphereVolume: v1VsphereVirtualDiskVolumeSource.optional()}); export const v1PodSpec = z.object({activeDeadlineSeconds: z.number().int().optional(), affinity: v1Affinity.optional(), automountServiceAccountToken: z.boolean().optional(), containers: z.array(v1Container).optional(), dnsConfig: v1PodDNSConfig.optional(), dnsPolicy: z.string().optional(), enableServiceLinks: z.boolean().optional(), ephemeralContainers: z.array(v1EphemeralContainer).optional(), evictionResponders: z.array(v1EvictionResponder).optional(), hostAliases: z.array(v1HostAlias).optional(), hostIPC: z.boolean().optional(), hostNetwork: z.boolean().optional(), hostPID: z.boolean().optional(), hostUsers: z.boolean().optional(), hostname: z.string().optional(), hostnameOverride: z.string().optional(), imagePullSecrets: z.array(v1LocalObjectReference).optional(), initContainers: z.array(v1Container).optional(), nodeName: z.string().optional(), nodeSelector: z.record(z.string(), z.string()).optional(), os: v1PodOS.optional(), overhead: v1ResourceList.optional(), preemptionPolicy: z.string().optional(), priority: z.number().int().optional(), priorityClassName: z.string().optional(), readinessGates: z.array(v1PodReadinessGate).optional(), resourceClaims: z.array(v1PodResourceClaim).optional(), resources: v1ResourceRequirements.optional(), restartPolicy: z.string().optional(), runtimeClassName: z.string().optional(), schedulerName: z.string().optional(), schedulingGates: z.array(v1PodSchedulingGate).optional(), schedulingGroup: v1PodSchedulingGroup.optional(), securityContext: v1PodSecurityContext.optional(), serviceAccount: z.string().optional(), serviceAccountName: z.string().optional(), setHostnameAsFQDN: z.boolean().optional(), shareProcessNamespace: z.boolean().optional(), subdomain: z.string().optional(), terminationGracePeriodSeconds: z.number().int().optional(), tolerations: z.array(v1Toleration).optional(), topologySpreadConstraints: z.array(v1TopologySpreadConstraint).optional(), volumes: z.array(v1Volume).optional()}); export const v1PodTemplateSpec = z.object({metadata: v1ObjectMeta.optional(), spec: v1PodSpec.optional()}); export const v1JobSpec = z.object({activeDeadlineSeconds: z.number().int().optional(), backoffLimit: z.number().int().optional(), backoffLimitPerIndex: z.number().int().optional(), completionMode: v1CompletionMode.optional(), completions: z.number().int().optional(), managedBy: z.string().optional(), manualSelector: z.boolean().optional(), maxFailedIndexes: z.number().int().optional(), parallelism: z.number().int().optional(), podFailurePolicy: v1PodFailurePolicy.optional(), podReplacementPolicy: v1PodReplacementPolicy.optional(), scheduling: v1JobSchedulingConfiguration.optional(), selector: v1LabelSelector.optional(), successPolicy: v1SuccessPolicy.optional(), suspend: z.boolean().optional(), template: v1PodTemplateSpec.optional(), ttlSecondsAfterFinished: z.number().int().optional()}); export const rolloutsJobMetric = z.object({metadata: v1ObjectMeta.optional(), spec: v1JobSpec.optional()}); export const rolloutsScopeDetail = z.object({end: z.string().optional(), region: z.string().optional(), scope: z.string().optional(), start: z.string().optional(), step: z.number().int().optional()}); export const rolloutsKayentaScope = z.object({controlScope: rolloutsScopeDetail.optional(), experimentScope: rolloutsScopeDetail.optional(), name: z.string().optional()}); export const rolloutsKayentaThreshold = z.object({marginal: z.number().int().optional(), pass: z.number().int().optional()}); export const rolloutsKayentaMetric = z.object({address: z.string().optional(), application: z.string().optional(), canaryConfigName: z.string().optional(), configurationAccountName: z.string().optional(), lookback: z.boolean().optional(), metricsAccountName: z.string().optional(), scopes: z.array(rolloutsKayentaScope).optional(), storageAccountName: z.string().optional(), threshold: rolloutsKayentaThreshold.optional()}); export const rolloutsNewRelicMetric = z.object({profile: z.string().optional(), query: z.string().optional(), timeout: z.number().int().optional()}); export const rolloutsOAuth2Config = z.object({clientId: z.string().optional(), clientSecret: z.string().optional(), scopes: z.array(z.string()).optional(), tokenUrl: z.string().optional()}); export const rolloutsSigv4Config = z.object({profile: z.string().optional(), region: z.string().optional(), roleArn: z.string().optional()}); export const rolloutsAuthentication = z.object({oauth2: rolloutsOAuth2Config.optional(), sigv4: rolloutsSigv4Config.optional()}); export const rolloutsWebMetricHeader = z.object({key: z.string().optional(), value: z.string().optional()}); export const rolloutsPrometheusRangeQueryArgs = z.object({end: z.string().optional(), start: z.string().optional(), step: z.string().optional()}); export const rolloutsPrometheusMetric = z.object({address: z.string().optional(), authentication: rolloutsAuthentication.optional(), headers: z.array(rolloutsWebMetricHeader).optional(), insecure: z.boolean().optional(), query: z.string().optional(), rangeQuery: rolloutsPrometheusRangeQueryArgs.optional(), timeout: z.number().int().optional()}); export const rolloutsSkyWalkingMetric = z.object({address: z.string().optional(), interval: z.string().optional(), query: z.string().optional()}); export const rolloutsWavefrontMetric = z.object({address: z.string().optional(), query: z.string().optional()}); export const rolloutsWebMetric = z.object({authentication: rolloutsAuthentication.optional(), body: z.string().optional(), headers: z.array(rolloutsWebMetricHeader).optional(), insecure: z.boolean().optional(), jsonBody: z.array(z.number().int()).optional(), jsonPath: z.string().optional(), method: z.string().optional(), timeoutSeconds: z.number().int().optional(), url: z.string().optional()}); export const rolloutsMetricProvider = z.object({cloudWatch: rolloutsCloudWatchMetric.optional(), datadog: rolloutsDatadogMetric.optional(), graphite: rolloutsGraphiteMetric.optional(), influxdb: rolloutsInfluxdbMetric.optional(), job: rolloutsJobMetric.optional(), kayenta: rolloutsKayentaMetric.optional(), newRelic: rolloutsNewRelicMetric.optional(), plugin: z.record(z.string(), z.string()).optional(), prometheus: rolloutsPrometheusMetric.optional(), skywalking: rolloutsSkyWalkingMetric.optional(), wavefront: rolloutsWavefrontMetric.optional(), web: rolloutsWebMetric.optional()}); export const rolloutsMetric = z.object({consecutiveErrorLimit: z.unknown(), consecutiveSuccessLimit: z.unknown(), count: z.unknown(), failureCondition: z.string().optional(), failureLimit: z.unknown(), inconclusiveLimit: z.unknown(), initialDelay: z.string().optional(), interval: z.string().optional(), name: z.string().optional(), provider: rolloutsMetricProvider.optional(), successCondition: z.string().optional()}); export const rolloutsAnalysisTemplateRef = z.object({clusterScope: z.boolean().optional(), templateName: z.string().optional()}); export const rolloutsAnalysisTemplateSpec = z.object({args: z.array(rolloutsArgument).optional(), dryRun: z.array(rolloutsDryRun).optional(), measurementRetention: z.array(rolloutsMeasurementRetention).optional(), metrics: z.array(rolloutsMetric).optional(), templates: z.array(rolloutsAnalysisTemplateRef).optional()}); export const rolloutsAnalysisTemplate = z.object({apiVersion: z.string().optional(), kind: z.string().optional(), metadata: v1ObjectMeta.optional(), spec: rolloutsAnalysisTemplateSpec.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 }; /** * Retrieve an AnalysisTemplate * * GET /v1beta1/projects/{project}/analysis-templates/{analysis-template} */ export const getApiV1beta1ProjectsProjectAnalysisTemplatesAnalysisTemplate = async (args: GetApiV1beta1ProjectsProjectAnalysisTemplatesAnalysisTemplateArgs, options: GetApiV1beta1ProjectsProjectAnalysisTemplatesAnalysisTemplateOptions) => { const {baseUrl, fetch: fetchFn = fetch, BearerAuth} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (BearerAuth !== undefined) headers.set("Authorization", BearerAuth) const url = `${baseUrl.replace(/\/+$/, '')}/v1beta1/projects/${encodeURIComponent(String(args.project))}/analysis-templates/${encodeURIComponent(String(args['analysis-template']))}${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(rolloutsAnalysisTemplate, await res.json()) };