0
0
Fork 0
mirror of https://github.com/renovatebot/renovate.git synced 2025-05-12 23:51:55 +00:00
renovatebot_renovate/lib/modules/datasource/aws-eks-addon/schema.ts
Ivan Ka 522504441d
feat(datasource): add eks addon datasource (#33272)
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
Co-authored-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Rhys Arkins <rhys@arkins.net>
2025-03-20 08:00:46 +00:00

29 lines
903 B
TypeScript

import { type ZodEffects, type ZodString, z } from 'zod';
import { regEx } from '../../../util/regex';
import { Json } from '../../../util/schema-utils';
const stringIsBoolSchema: ZodEffects<ZodString, boolean, string> = z
.string()
.transform((value) => {
if (value === 'true') {
return true;
} else if (value === 'false') {
return false;
} else {
return false;
}
});
export const EksAddonsFilterSchema = z.object({
addonName: z.string().nonempty().regex(regEx('^[a-z0-9][a-z0-9-]*[a-z0-9]$')),
kubernetesVersion: z
.string()
.regex(regEx('^(?<major>\\d+)\\.(?<minor>\\d+)$'))
.optional(),
default: z.oboolean().or(stringIsBoolSchema),
region: z.string().optional(),
profile: z.string().optional(),
});
export type EksAddonsFilter = z.infer<typeof EksAddonsFilterSchema>;
export const EksAddonsFilter = Json.pipe(EksAddonsFilterSchema);